使用Log4j的CompositeTriggeringPolicy特性与log4CXX
Using Log4j CompositeTriggeringPolicy feature with log4CXX
我想在一个appender中结合滚动时间和滚动大小,似乎在log4cxx中没有复合滚动,我是对的吗?
没有。实际上,在log4j中也没有实现这样的组合策略,因此没有将其转移到log4cxx。
我曾经有一个编写这种混合策略滚动文件附加程序的任务(不过是在log4j中)。我通过重写FileAppender
,特别是
方法来做到这一点。// log4j
void setFile(String fileName, boolean append, boolean bufferedIO, int bufferSize);
// log4cxx
void setFile(const LogString& filename, bool append1, bool bufferedIO1, size_t bufferSize1, Pool& p);
在进程重启后继续记录到适当的日志块,以及
// log4j
void subAppend(LoggingEvent event);
// log4cxx
virtual void append(const spi::LoggingEventPtr& event, log4cxx::helpers::Pool& p);
在每个日志条目之后测试滚动的条件是否为真。
在log4j/cxx中实现自己的appender的一个真正强大的特性是,您可以在log4j.properties
中定义它的属性,并由库设置它们。在Java中,由于反射,您可以免费获得它;在log4cxx中,您只需要编写
void setOption(const LogString& option, const LogString& value);
方法,其中迭代选项字符串并执行必要的初始化操作。
希望能在适当的时候帮到你。
相关文章:
- 未定义的符号 - 在 CentOS 7 中使用 log4cxx
- 带有log4cxx的自定义和动态附加程序的配置
- Log4cxx <<运算符导致访问冲突
- 在 CMake 中使用 Log4cxx
- 如何在 Windows 上使用 log4cxx RollingFileAppender
- 在 c++ 中,两个日志行与 log4Cxx 混合在一起
- 是否有可能以及如何使用log4cxx库每个进程创建独立的记录仪
- 自定义重载运算符<<带有 log4cxx
- 使用log4cxx中的UTF-8字符
- 在Visual Studio 2012中使用Log4cxx
- log4cxx 日志,没有源文件路径
- 将 Visual Studio 2008 配置为在程序/库中使用 log4cxx
- log4cxx构建并编译,但运行时会出现不满足链接异常
- log4cxx:使用log4j.rootLogger以外的命名记录器
- 如何在Red Hat 7下使用log4cxx
- 使用log4cxx在C++中记录特定的类
- 单个进程中的多个 log4cxx Dom 配置器
- C2252构建log4cxx时出错
- C++线程名称映射和log4cxx
- log4cxx访问异常,使用<<运算符和宏