中国开发网: 论坛: 程序员情感CBD: 贴子 367655
bjwf
你不会这么笨吧,昨天正好看了一眼log4cpluse,给你个参考.
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;
}
还是想说,按源代码文件分log文件的办法真的不是个好办法.
试图在互联网上划出国界的举动是愚蠢的!!!
把人当成猪羊圈养,草料永远都不够!把人当人待,人有无限的创造力! “人口减少一半,人们两倍富有”的观念为“一种非常糟糕的自甘堕落—这背后的潜台词是,似乎中国人是封闭围栏中的动物,对周围那些自己赖以生存的资源,除了咀嚼,别无办法。”

我的像册:http://picasaweb.google.com/bjwf2000/
我的主页: http://bjwf2000.googlepages.com/

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录