1212
1313#include "ff_config.h"
1414#include "ff_api.h"
15+ #include "ff_log.h"
1516
1617#define MAX_EVENTS 512
1718
@@ -65,7 +66,7 @@ int loop(void *arg)
6566 int i ;
6667
6768 if (nevents < 0 ) {
68- printf ( "ff_kevent failed:%d, %s\n" , errno ,
69+ ff_log ( FF_LOG_ERR , FF_LOGTYPE_FSTACK_APP , "ff_kevent failed:%d, %s\n" , errno ,
6970 strerror (errno ));
7071 return -1 ;
7172 }
@@ -87,7 +88,7 @@ int loop(void *arg)
8788 do {
8889 int nclientfd = ff_accept (clientfd , NULL , NULL );
8990 if (nclientfd < 0 ) {
90- printf ( "ff_accept failed:%d, %s\n" , errno ,
91+ ff_log ( FF_LOG_ERR , FF_LOGTYPE_FSTACK_APP , "ff_accept failed:%d, %s\n" , errno ,
9192 strerror (errno ));
9293 break ;
9394 }
@@ -96,7 +97,7 @@ int loop(void *arg)
9697 EV_SET (& kevSet , nclientfd , EVFILT_READ , EV_ADD , 0 , 0 , NULL );
9798
9899 if (ff_kevent (kq , & kevSet , 1 , NULL , 0 , NULL ) < 0 ) {
99- printf ( "ff_kevent error:%d, %s\n" , errno ,
100+ ff_log ( FF_LOG_ERR , FF_LOGTYPE_FSTACK_APP , "ff_kevent error:%d, %s\n" , errno ,
100101 strerror (errno ));
101102 return -1 ;
102103 }
@@ -108,12 +109,12 @@ int loop(void *arg)
108109 ssize_t readlen = ff_read (clientfd , buf , sizeof (buf ));
109110 ssize_t writelen = ff_write (clientfd , html , sizeof (html ) - 1 );
110111 if (writelen < 0 ){
111- printf ( "ff_write failed:%d, %s\n" , errno ,
112+ ff_log ( FF_LOG_ERR , FF_LOGTYPE_FSTACK_APP , "ff_write failed:%d, %s\n" , errno ,
112113 strerror (errno ));
113114 ff_close (clientfd );
114115 }
115116 } else {
116- printf ( "unknown event: %8.8X\n" , event .flags );
117+ ff_log ( FF_LOG_WARNING , FF_LOGTYPE_FSTACK_APP , "unknown event: %8.8X\n" , event .flags );
117118 }
118119 }
119120
@@ -122,17 +123,33 @@ int loop(void *arg)
122123
123124int main (int argc , char * argv [])
124125{
126+ FILE * log_file ;
127+
125128 ff_init (argc , argv );
126129
130+ /* Set APP's log file to instead F-Stack log file */
131+ log_file = fopen ("./helloworld.log" , "a+" );
132+ if (log_file == NULL ) {
133+ ff_log (FF_LOG_ERR , FF_LOGTYPE_FSTACK_APP , "fopen log file failed, errno:%d, %s\n" , errno , strerror (errno ));
134+ exit (1 );
135+ }
136+
137+ ff_log_reset_stream ((void * )log_file );
138+ /* Close F-Stack log file */
139+ ff_log_close ();
140+
141+ ff_log_set_global_level (FF_LOG_INFO );
142+ ff_log_set_level (FF_LOGTYPE_FSTACK_APP , FF_LOG_INFO );
143+
127144 kq = ff_kqueue ();
128145 if (kq < 0 ) {
129- printf ( "ff_kqueue failed, errno:%d, %s\n" , errno , strerror (errno ));
146+ ff_log ( FF_LOG_ERR , FF_LOGTYPE_FSTACK_APP , "ff_kqueue failed, errno:%d, %s\n" , errno , strerror (errno ));
130147 exit (1 );
131148 }
132149
133150 sockfd = ff_socket (AF_INET , SOCK_STREAM , 0 );
134151 if (sockfd < 0 ) {
135- printf ( "ff_socket failed, sockfd:%d, errno:%d, %s\n" , sockfd , errno , strerror (errno ));
152+ ff_log ( FF_LOG_ERR , FF_LOGTYPE_FSTACK_APP , "ff_socket failed, sockfd:%d, errno:%d, %s\n" , sockfd , errno , strerror (errno ));
136153 exit (1 );
137154 }
138155
@@ -148,13 +165,13 @@ int main(int argc, char * argv[])
148165
149166 int ret = ff_bind (sockfd , (struct linux_sockaddr * )& my_addr , sizeof (my_addr ));
150167 if (ret < 0 ) {
151- printf ( "ff_bind failed, sockfd:%d, errno:%d, %s\n" , sockfd , errno , strerror (errno ));
168+ ff_log ( FF_LOG_ERR , FF_LOGTYPE_FSTACK_APP , "ff_bind failed, sockfd:%d, errno:%d, %s\n" , sockfd , errno , strerror (errno ));
152169 exit (1 );
153170 }
154171
155172 ret = ff_listen (sockfd , MAX_EVENTS );
156173 if (ret < 0 ) {
157- printf ( "ff_listen failed, sockfd:%d, errno:%d, %s\n" , sockfd , errno , strerror (errno ));
174+ ff_log ( FF_LOG_ERR , FF_LOGTYPE_FSTACK_APP , "ff_listen failed, sockfd:%d, errno:%d, %s\n" , sockfd , errno , strerror (errno ));
158175 exit (1 );
159176 }
160177
@@ -165,7 +182,7 @@ int main(int argc, char * argv[])
165182#ifdef INET6
166183 sockfd6 = ff_socket (AF_INET6 , SOCK_STREAM , 0 );
167184 if (sockfd6 < 0 ) {
168- printf ( "ff_socket failed, sockfd6:%d, errno:%d, %s\n" , sockfd6 , errno , strerror (errno ));
185+ ff_log ( FF_LOG_ERR , FF_LOGTYPE_FSTACK_APP , "ff_socket failed, sockfd6:%d, errno:%d, %s\n" , sockfd6 , errno , strerror (errno ));
169186 exit (1 );
170187 }
171188
@@ -177,24 +194,29 @@ int main(int argc, char * argv[])
177194
178195 ret = ff_bind (sockfd6 , (struct linux_sockaddr * )& my_addr6 , sizeof (my_addr6 ));
179196 if (ret < 0 ) {
180- printf ( "ff_bind failed, sockfd6:%d, errno:%d, %s\n" , sockfd6 , errno , strerror (errno ));
197+ ff_log ( FF_LOG_ERR , FF_LOGTYPE_FSTACK_APP , "ff_bind failed, sockfd6:%d, errno:%d, %s\n" , sockfd6 , errno , strerror (errno ));
181198 exit (1 );
182199 }
183200
184201 ret = ff_listen (sockfd6 , MAX_EVENTS );
185202 if (ret < 0 ) {
186- printf ( "ff_listen failed, sockfd6:%d, errno:%d, %s\n" , sockfd6 , errno , strerror (errno ));
203+ ff_log ( FF_LOG_ERR , FF_LOGTYPE_FSTACK_APP , "ff_listen failed, sockfd6:%d, errno:%d, %s\n" , sockfd6 , errno , strerror (errno ));
187204 exit (1 );
188205 }
189206
190207 EV_SET (& kevSet , sockfd6 , EVFILT_READ , EV_ADD , 0 , MAX_EVENTS , NULL );
191208 ret = ff_kevent (kq , & kevSet , 1 , NULL , 0 , NULL );
192209 if (ret < 0 ) {
193- printf ( "ff_kevent failed:%d, %s\n" , errno , strerror (errno ));
210+ ff_log ( FF_LOG_ERR , FF_LOGTYPE_FSTACK_APP , "ff_kevent failed:%d, %s\n" , errno , strerror (errno ));
194211 exit (1 );
195212 }
196213#endif
197214
215+ ff_log (FF_LOG_INFO , FF_LOGTYPE_FSTACK_APP , "helloworld init success.\n" );
216+
198217 ff_run (loop , NULL );
218+
219+ fclose (log_file );
220+
199221 return 0 ;
200222}
0 commit comments