log4j简单使用

来源:互联网 发布:淘宝原创男包品牌 知乎 编辑:程序博客网 时间:2024/06/14 09:35
将库文件log4cplusUD.lib放入工程中
在项目属性中设置 库目录 为log4cplus源码中的include文件


log4j 简单文件输入类
#include <log4cplus/logger.h>
#include <log4cplus/fileappender.h>
#include <log4cplus/consoleappender.h>
#include <log4cplus/layout.h>
#include <log4cplus/loggingmacros.h>
using namespace log4cplus;
using namespace std;
class GacLogFile
{
public:
    GacLogFile();
    void GacDebug(char* debug);
    void GacWarn(char* warn);
    void GacInfo(char* info);
    ~GacLogFile(void);
private:
    SharedAppenderPtr fileAppend;//文件append
    Logger fileLogger;
    

};


实现类:
#include "StdAfx.h"
#include "GacLogFile.h"
#include <iostream>

#ifndef _DEBUG   
#pragma comment(lib,"log4cplusUS.lib")   
#else   
#pragma comment(lib,"log4cplusUD.lib")   
#endif   
using namespace std;

GacLogFile::GacLogFile(void)
{
    //初始化控制台appender
    fileAppend = new FileAppender(_T("test.log"));
    
    auto_ptr<Layout> layout(new TTCCLayout(true));   
    fileAppend->setLayout(layout);
    //定义一个logger
    fileLogger = Logger::getInstance(_T("gac"));
    //将appender关联到 Logger
    fileLogger.addAppender(fileAppend);
}
void GacLogFile::GacInfo(char* info)
{
    LOG4CPLUS_INFO(fileLogger,info);
}
void GacLogFile::GacDebug(char* debug)
{
    LOG4CPLUS_DEBUG(fileLogger,debug);
}
void GacLogFile::GacWarn(char* warn)
{
    LOG4CPLUS_WARN(fileLogger,warn);
}

GacLogFile::~GacLogFile(void)
{
}

log4j控制台输出类
#pragma once
#include <log4cplus/logger.h>
#include <log4cplus/fileappender.h>
#include <log4cplus/consoleappender.h>
#include <log4cplus/layout.h>
#include <log4cplus/loggingmacros.h>
using namespace log4cplus;

using namespace log4cplus::helpers;

class GacLogConsole
{
public:
    GacLogConsole(void);
    void GacDebug(char* debug);
    void GacWarn(char* warn);
    void GacInfo(char* info);
    ~GacLogConsole(void);
    

private:
    SharedAppenderPtr pConsoleAppender;//控制台appender
    
    Logger consoleLogger;//定义一个日志


};


实现类:
#include "StdAfx.h"
#include "GacLogConsole.h"
#ifndef _DEBUG   
#pragma comment(lib,"log4cplusUS.lib")   
#else   
#pragma comment(lib,"log4cplusUD.lib")   
#endif   

GacLogConsole::GacLogConsole(void)
{
    //初始化控制台appender
    pConsoleAppender = new ConsoleAppender();
    //定义一个logger
    consoleLogger = Logger::getInstance(_T("gac"));
    //将appender关联到 Logger
    consoleLogger.addAppender(pConsoleAppender);
}

void GacLogConsole::GacInfo(char* info)
{
    LOG4CPLUS_INFO(consoleLogger,info);
}
void GacLogConsole::GacDebug(char* debug)
{
    LOG4CPLUS_DEBUG(consoleLogger,debug);
}
void GacLogConsole::GacWarn(char* warn)
{
    LOG4CPLUS_WARN(consoleLogger,warn);
}
GacLogConsole::~GacLogConsole(void)
{
}


0 0
原创粉丝点击