首页 > 编程知识 正文

linux日志文件在哪(log4net配置详解)

时间:2023-05-06 16:19:59 阅读:73984 作者:3206

log4cplus配置文件示例日志级别log4cplus提供的日志级别如下:

alltracedebuginfowarnerrorfataloff

例如:

如果日志级别定义为ERROR,则只有在标记为ERROR时才会记录故障日志信息

如果级别为调试,则记录标记为调试/info/warn/error/fatal的所有日志

ALL和OFF级别用于分别打开和关闭所有其他类型的级别,而不用于设置日志级别

关于配置文件,说明几点:

日志将输出到appenders。 appenders可以是文件或控制台,可以将输出视为cpp流的概念

一个日志类别可以与多个appenders相关联

日志类从抽象根类继承日志级别和appender,除非另有定义

记录工作线程的id以分析线程的行为

在配置文件示例源网络上,将在可执行模块的当前目录中创建新的log文件夹,并以debug.date.log格式保存日志

#配置文件(其他日志级别的配置相同(log4cplus.rootLogger=TRACE,ERROR_MSGS,DEBUG_MSGS, info _ msgs log 4c plus.logger.console=trace因此,信息为文件log 4c plus.additivity.file=false # # # # # # # # # # ## log 4c plus.appender.log console=log 4c plus :3360 consoleappenderlog 4c plus.appender.log console.encoding=utf-8 lolog ender.log console.layout.conversion pattern=[ % d { % y-% m-% d % h 3360 % ] # # # debug # # # # # # # #### 将日志记录到文件末尾的log 4c plus.appender.debug _ msgs=log 4c plus :3360 timebasedrollingfileappenderlog 4c plus.appender.debug _ 365292; loglog 4c plus.appender.error _ msgs.schedule=daily log 4c plus.appender.error _ msgs.maxhistory=365 log 4c plus . s.appender.debug _ msgs.create dirs=true # 日志文件大小log4cplus.appender.deber.deber生成日志的最大数量log 4c plus.appender.debug _ msgs.maxbackupindex=5log 4c plus.appendex 设置ebug.encoding=8log 4c plog : pattern layout #日志打印格式log 4c plus.appender.debug _ msgs.layout.conversion pattete log 4c plus.appender.debug _ msgs.filters.1=log 4c plus 33603360 SPI 33603360 loglevelmatchfilter s.1.logleveltomatch=.1. acceptonmatch=true log 4c plus.appender.1 360 denyallfilter # # # # # # # # # # # # # # # ee

log4cplus.appender.ERROR_MSGS.FilenamePattern=./log/error.%d{yyyyMMdd}.loglog4cplus.appender.ERROR_MSGS.Schedule=DAILYlog4cplus.appender.ERROR_MSGS.MaxHistory=365log4cplus.appender.ERROR_MSGS.Append=truelog4cplus.appender.ERROR_MSGS.RollOnClose=falselog4cplus.appender.ERROR_MSGS.CreateDirs=true#设置日志文件大小log4cplus.appender.ERROR_MSGS.MaxFileSize=10MB#设置生成日志最大个数log4cplus.appender.ERROR_MSGS.MaxBackupIndex=5log4cplus.appender.ERROR_MSGS.Encoding=utf-8log4cplus.appender.ERROR_MSGS.layout=log4cplus::PatternLayout#设置日志打印格式log4cplus.appender.ERROR_MSGS.layout.ConversionPattern=[%D{%Y-%m-%d %H:%M:%S}] %-5p %m%n#匹配相同日志级别,只有wx_uservedio日志才输入到该文件中log4cplus.appender.ERROR_MSGS.filters.1=log4cplus::spi::LogLevelMatchFilterlog4cplus.appender.ERROR_MSGS.filters.1.LogLevelToMatch=ERRORlog4cplus.appender.ERROR_MSGS.filters.1.AcceptOnMatch=truelog4cplus.appender.ERROR_MSGS.filters.2=log4cplus::spi::DenyAllFilter################################INFO#####################################设置日志追加到文件尾log4cplus.appender.INFO_MSGS=log4cplus::TimeBasedRollingFileAppenderlog4cplus.appender.INFO_MSGS.FilenamePattern=./log/info.%d{yyyyMMdd}.loglog4cplus.appender.INFO_MSGS.Schedule=DAILYlog4cplus.appender.INFO_MSGS.MaxHistory=365log4cplus.appender.INFO_MSGS.Append=truelog4cplus.appender.INFO_MSGS.RollOnClose=falselog4cplus.appender.INFO_MSGS.CreateDirs=true#设置日志文件大小log4cplus.appender.INFO_MSGS.MaxFileSize=10MB#设置生成日志最大个数log4cplus.appender.INFO_MSGS.MaxBackupIndex=5log4cplus.appender.INFO_MSGS.Encoding=utf-8log4cplus.appender.INFO_MSGS.layout=log4cplus::PatternLayout#设置日志打印格式log4cplus.appender.INFO_MSGS.layout.ConversionPattern=[%D{%Y-%m-%d %H:%M:%S}] %-5p %m %n#匹配相同日志级别,只有INFO日志才输入到该文件中log4cplus.appender.INFO_MSGS.filters.1=log4cplus::spi::LogLevelMatchFilterlog4cplus.appender.INFO_MSGS.filters.1.LogLevelToMatch=INFOlog4cplus.appender.INFO_MSGS.filters.1.AcceptOnMatch=truelog4cplus.appender.INFO_MSGS.filters.2=log4cplus::spi::DenyAllFilter 测试程序

main.cpp

#include <log4cplus/logger.h>#include "log4cplus/consoleappender.h"#include <log4cplus/loggingmacros.h>#include <log4cplus/configurator.h>#include <log4cplus/initializer.h>int main(){ // Initialization and deinitialization. //log4cplus::Initializer initializer; log4cplus::PropertyConfigurator::doConfigure(LOG4CPLUS_TEXT("log.properties")); log4cplus::Logger logger = log4cplus::Logger::getRoot(); LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("Hello, World!")); LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("test, World!")); log4cplus::Logger loggerConsole = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("console")); LOG4CPLUS_INFO(loggerConsole, LOG4CPLUS_TEXT("console output...")); return 0;} cmake

编写CMakeList.txt文件

cmake_minimum_required(VERSION 3.20)project(testlog)set(CMAKE_MODULE_PATH /usr/share/cmake-3.10/Modules)set(CMAKE_CXX_STANDARD 17)set(INCLUDE_DIR "/usr/local/include")set(LINK_DIR "/usr/local/lib")include_directories(${INCLUDE_DIR})add_executable(testlog main.cpp)target_link_libraries(testlog -llog4cplus) 执行

以下命令:

mkdir buildcd buildcmake ../make./testlog#查看运行结果,结果保存在log文件夹,同时控制台有输出

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。