linux查看设备挂机日志,Linux下日志设备文件-----logger

刚接触logger,所有的记录信息都是写在一个日志文件中,后来发现这样查看起来不太方便,于是想分类,比如info信息专门一个文件,error信息专门一个文件。

之前的日志配置文件log4qt.conf是这样的:

### set log levels ###

log4j.rootLogger =DEBUG, DLOG

###%d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n###

### 写入文件###

log4j.appender.DLOG = Log4Qt::FileAppender

log4j.appender.DLOG.File = logs/log.log

log4j.appender.DLOG.AppendFile = true

log4j.appender.DLOG.layout = Log4Qt::PatternLayout

log4j.appender.DLOG.layout.ConversionPattern = [VeeLang] %-d{yyyy-MM-dd HH:mm:ss}  [%r ms] %l [%-5p] [%c] - %m\n

就是DEBUG级别以上的都可以写进log/log.log中。

代码实现引用:

#include "logger.h"

#include "propertyconfigurator.h"

#include "logmanager.h"

.h:

private:                                                              \

mutable Log4Qt::ClassLogger mLog4QtClassLogger;                  \

public:                                                              \

inline Log4Qt::Logger *logger() const                            \

{  return mLog4QtClassLogger.logger(this);    }                  \

private:

.cpp

Log4Qt::PropertyConfigurator::configure(a.applicationDirPath()+"/Configuration/log4qt.conf");

Log4Qt::Logger *logger = Log4Qt::LogManager::rootLogger();

logger->info("Application began to run---NH3-10");

这样就实现了日志记录。

目前要做的是记录在不同的日志文件中。

修改log4qt.conf:

### set log levels ###

###%d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n###

###输出到文件 ###

log4j.logger.A1=INFO,A1

log4j.appender.A1= Log4Qt::FileAppender

log4j.appender.A1.File = logs/log.log

log4j.appender.A1.AppendFile = true

log4j.appender.A1.layout = Log4Qt::PatternLayout

log4j.appender.A1.layout.ConversionPattern = [SZom] %-d{yyyy-MM-dd HH:mm:ss}  [%r ms] %l [%-5p] [%c] - %m\n

###输出到文件 ###

log4j.logger.A2=WARN,A2

log4j.appender.A2 = Log4Qt::FileAppender

log4j.appender.A2.File = logs/error.log

log4j.appender.A2.AppendFile = true

log4j.appender.A2.layout = Log4Qt::PatternLayout

log4j.appender.A2.layout.ConversionPattern = [SZom] %-d{yyyy-MM-dd HH:mm:ss}  [%r ms] %l [%-5p] [%c] - %m\n

意思是在log.log和error.log中分别记录信息

本来是加log4j.appender.A1.Threshold = INFO做区分,不过执行的时候出了问题,CSDN上看到有人这么处理(http://bbs.csdn.net/topics/390344244)

代码里实现如下:

.cpp:

Log4Qt::PropertyConfigurator::configure("./logs/log4qt.conf");

Log4Qt::Logger *logInfo = Log4Qt::Logger::logger("A1");

Log4Qt::Logger *logError = Log4Qt::Logger::logger("A2");

logInfo->info("Application begin....");

logError->warn("Application begin....");

以后分别用logInfo 和logError操作,分析了下后发现其实就是定义了两个文件,然后再设置级别。

[level]级别如下:

8425c798a264a76cd440d58e17859509.gifFATAL 08425c798a264a76cd440d58e17859509.gifERROR38425c798a264a76cd440d58e17859509.gifWARN48425c798a264a76cd440d58e17859509.gifINFO  68425c798a264a76cd440d58e17859509.gifDEBUG7

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值