让Log4CPLUS每个CPP记一个日志文件

3 篇文章 0 订阅

版权声明

请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“tingsking18”和主站点地址,方便其他朋友提问和指正。

 

1. 写一个头文件,"mylog.h",如下:
#pragma once
#include <log4cplus/logger.h>
#include <log4cplus/configurator.h>
#include <log4cplus/fileappender.h>
#include <log4cplus/consoleappender.h>
#include <log4cplus/layout.h>
#include <log4cplus/logger.h>
#include <log4cplus/ndc.h>
#include <log4cplus/helpers/loglog.h>
#include <log4cplus/helpers/threads.h>
#include <log4cplus/streams.h>
using namespace std;
using namespace log4cplus;


struct GLOG
{
    GLOG(const char  * _fname)
    {
        string n = _fname;
        Logger _l = (Logger::getInstance(n));
        n+= ".log";
        _l.addAppender(new RollingFileAppender(n.c_str(), 1024*10, 10));
        _l.addAppender(new  ConsoleAppender());
    }
                                     
};
 
#define USE_SEPARATE_LOG(fname)  static GLOG _g(fname);

#define fLog                     Logger::getInstance(__FILE__)


2. 在所有要打log的cpp文件里 include "mylog.h",
   并在文件的最前面加一句: USE_SEPARATE_LOG(__FILE__)

3. 所有打log的地方都用下面的句子打:
   LOG4CPLUS_INFO(fLog, "testtest"<<endl);
   
比如:
 
#include "stdafx.h"
#include <iostream>
#include "mylog.h"
 
USE_SEPARATE_LOG(__FILE__)

int main(int argc, _TCHAR* argv[])
{
     LOG4CPLUS_INFO(fLog, "Hello world"<<endl);
     return 0;
}

 

BTW:每个文件记录一个日志文件真不是什么好办法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值