log4cxx的使用模式

log4cxx的使用模式

(金庆的专栏)

== 初始化配置 ==

Main.cpp中初始化配置.
如果不需要监视配置文件并自动重新配置,就不需要调用configureAndWatch().
执行目录下的log4j.properties是会自动读取的。

#include <log4cxx/propertyconfigurator.h>

int main()
{
const long WATCH_SECONDS = 5;
log4cxx::PropertyConfigurator::configureAndWatch(
"log4j.properties", WATCH_SECONDS);
...
}

== 辅助宏 ==

为log4cxx的使用建立辅助宏,如Log.h。
因为经常与boost::format配合使用,所以添加了该头文件。

// Log.h
// log4cxx helper.

#pragma once

#include <boost/format.h>
#include <log4cxx/logger.h>

#define LOG_DEBUG(name, message) { \
LOG4CXX_DEBUG(::log4cxx::Logger::getLogger(name), message); }
...
#define LOG_FATAL(name, message) { \
LOG4CXX_FATAL(::log4cxx::Logger::getLogger(name), message); }

== 使用宏 ==

在User.cpp中使用.

#include "Log.h"

const char LOG[] = "User";

void foo()
{
LOG_DEBUG(LOG, boost::format("%1% %2%") % "Hello" % "World");
...
}

== log4j.properties ==

配置文件 log4j.properties 如下:

log4j.debug = true

#log4j.rootLogger = WARN, R
log4j.rootLogger = INFO, R, C

log4j.appender.R = org.apache.log4j.RollingFileAppender
log4j.appender.R.File = log.txt
log4j.appender.R.MaxBackupIndex = 100
log4j.appender.R.layout = org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern = %d %5p %c %x - %m%n

log4j.appender.C = org.apache.log4j.ConsoleAppender
log4j.appender.C.layout = org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversioinPattern = %d %5p %c %x - %m%n

# Levels: DEBUG, INFO, WARN, ERROR, FATAL
log4j.logger.main = INFO
log4j.logger.User = DEBUG


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值