log4cpp安装

下载源

log4cpp

visual studio安装方法

  1. 将下载好的压缩包解压缩后得到下列目录(解压缩的文件夹最好放C盘,不然在编译阶段往往会出现链接不上的问题)
    在这里插入图片描述
    找到mscv10文件夹内的mscv10.sln项目文件,右键log4cppLIB源文件,生成(编译器一定要选WIN32)
    在这里插入图片描述
  2. 回到mscv10文件夹中,此时有了release或debug版本,将release文件夹中的log4cppLIB.lib复制,将debug文件夹中的log4cppD.lib复制,并把log4cpp目录下的inclue文件夹复制(建议两个版本都安装一遍)
  3. 在一个方便的路径下粘贴三个文件,两个lib文件放在lib文件夹中,include文件夹放在当前目录下
    在这里插入图片描述
    在这里插入图片描述
  4. 此时路径已经设置好了,在vs新建一个项目,专门用于写log4cpp相关的代码,配置环境(编译器一定要选WIN32,和前面生成的文件匹配)
  5. 在项目属性下找到VC++目录选项,修改包含目录和库目录(注意要先点继承父级目录后再添加路径),包含目录添加include路径,库目录添加lib路径
    .在这里插入图片描述
  6. 在链接器选项下的输入选项中,修改附加依赖项(也要注意保留父级路径),如果当前编辑器是Release就添加log4cppLIB.lib,如果是Debug就添加log4cppD.lib
  7. 此时大概已经配置好了环境
    测试代码
    //FileAppenderExam:
    #include <iostream>
    #include "log4cpp/Category.hh"
    #include "log4cpp/Appender.hh"
    #include "log4cpp/FileAppender.hh"
    #include "log4cpp/Priority.hh"
    #include "log4cpp/PatternLayout.hh"
    #include "log4cpp/RollingFileAppender.hh"
    using namespace std;

    int main(int argc, char* argv[])
    {
    log4cpp::PatternLayout* pLayout1 = new log4cpp::PatternLayout();//创建一个Layout;
    pLayout1->setConversionPattern("%d: %p %c %x: %m%n");//指定布局格式;

    log4cpp::PatternLayout* pLayout2 = new log4cpp::PatternLayout();
    pLayout2->setConversionPattern("%d: %p %c %x: %m%n");

    log4cpp::Appender* fileAppender = new log4cpp::FileAppender("fileAppender", "wxb.log");//创建一个Appender;
    fileAppender->setLayout(pLayout1);//将指定的Layout添加到Appender;

    log4cpp::RollingFileAppender* rollfileAppender = new log4cpp::RollingFileAppender(
    "rollfileAppender", "rollwxb.log", 5 * 1024, 1);
    rollfileAppender->setLayout(pLayout2);

    log4cpp::Category& root = log4cpp::Category::getRoot().getInstance("RootName");//从系统中得到Category的根;
    root.addAppender(fileAppender);//将Appender添加到Category;
    root.addAppender(rollfileAppender);
    root.setPriority(log4cpp::Priority::DEBUG);//设置Category的优先级;

    //开始记录日志;
    for (int i = 0; i < 100; i++)
    {
    string strError;
    ostringstream oss;
    oss << i << ":Root Error Message!";
    strError = oss.str();
    root.error(strError);
    }

    log4cpp::Category::shutdown();//关闭Category;
    return 0;

    }
    如果没有报错就说明配置成功,如果还有报错建议评论问一下我