b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

log4cpp_log4qt_log4j与log4cp区别(4)

电脑杂谈  发布时间:2016-12-26 03:02:23  来源:网络整理

/*

return fprintf(fp, "[%s] [%s] [%d] [%d] [%s] [%s] [%d]/n%s",

log4c_appender_get_name(this),

a_event->evt_category,

a_event->evt_priority,

a_event->evt_timestamp.tv_sec*1000000 + a_event->evt_timestamp.tv_usec,

a_event->evt_msg,

a_event->evt_loc->loc_file,

a_event->evt_loc->loc_line,

a_event->evt_rendered_msg);

*/

return fprintf(fp, "%s/n", a_event->evt_rendered_msg);

}

static int test_open(log4c_appender_t* a_appender)

{

FILE* fp = log4c_appender_get_udata(a_appender);

if (fp)

return 0;

if ( (fp = fopen(log4c_appender_get_name(a_appender), "a+")) == NULL)

fp = stderr;

/* unbuffered mode */

setbuf(fp, NULL);

log4c_appender_set_udata(a_appender, fp);

return 0;

}

static int test_close(log4c_appender_t* a_appender)

{

FILE* fp = log4c_appender_get_udata(a_appender);

return (fp ? fclose(fp) : 0);

}

const log4c_appender_type_t log4c_appender_type_test_file = {

"test_file",//输出流的名称,用于配置文件设置

test_open, //打开输出流的函数

test_file_append,//给输出流追加日志信息的函数

test_close,//关闭输出流的函数

};

6.2将自定义输出流添加到Log4c的配置中:

6.3自定义输出流的使用

7.自定义rollingpolicy

源代码中有一个sizewin的rollingpolicy,是根据文件大小进行生成日志控制的。

在这里添加一个根据时间的控制日志输出的策略,实现代码如下:

7.1 rollingpolicy_type_timewin.h

#ifndef log4c_policy_type_timewin_h

#define log4c_policy_type_timewin_h

#include <log4c/defs.h>

#include <log4c/rollingpolicy.h>

__LOG4C_BEGIN_DECLS

LOG4C_API const log4c_rollingpolicy_type_t log4c_rollingpolicy_type_timewin;

typedef struct __timewin_udata rollingpolicy_timewin_udata_t;

#define TIME_TYPE_HOUR0


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23402-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...