logback日志配置
来源:互联网 发布:淘宝如何不显示会员名 编辑:程序博客网 时间:2024/05/17 20:22
先把日志配置文件logback.xml贴出来:
<?xml version="1.0" encoding="UTF-8"?><configuration> <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径 --> <substitutionProperty name="LOG_HOME" value="/app/ntytest/logs/" /> <property name="log.root.level" value="DEBUG" /> <!-- 日志级别 --> <property name="log.other.level" value="INFO" /> <!-- 其他日志级别 --> <property name="log.base" value="logs" /> <!-- 日志路径 --> <!-- 模块名称, 影响日志配置名,日志文件名 --> <property name="log.moduleName" value="ntytest" /> <property name="log.max.size" value="100MB" /> <!-- 日志文件大小 --> <contextName>ntytest</contextName> <jmxConfigurator /> <!-- 配置控制台输出 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern><![CDATA[%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] [%X{lsf.requestNo}|%X{lsf.consumerIp}] %logger{56}.%method\(\):%L - %msg%n]]></pattern> </layout> </appender> <!-- 按照每天生成日志文件,当日志文件大小超过1024M,则新建一个 --> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoding>UTF-8</encoding> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--日志文件输出的文件名 --> <FileNamePattern>${LOG_HOME}/NTY-CORE-SERVER-%d{yyyy-MM-dd}-%i.log </FileNamePattern> <!--日志文件保留天数 --> <MaxHistory>30</MaxHistory> <TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <MaxFileSize>1024MB</MaxFileSize> </TimeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level: 级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} |%-5level |NTY|NA|%thread| %logger{50} - %msg%n</pattern> </encoder> </appender> <!-- 配置错误日志,filter设置日志级别为ERROR --> <appender name="ERROR-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoding>UTF-8</encoding> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--日志文件输出的文件名 --> <FileNamePattern>${LOG_HOME}/NTY-CORE-ERROR-%d{yyyy-MM-dd}-%i.log </FileNamePattern> <!--日志文件保留天数 --> <MaxHistory>30</MaxHistory> <TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <MaxFileSize>1024MB</MaxFileSize> </TimeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level: 级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} |%-5level |NTY|NA|%thread| %logger{50} - %msg%n</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 配置monitor日志,主要用于公司发送告警邮件,设置logger即可, 调用:Logger logger = LoggerFactory.getLogger("MONITOR"); 就能把日志打印到monitor文件中。 --> <appender name="MONITOR-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoding>UTF-8</encoding> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--日志文件输出的文件名 --> <FileNamePattern>${LOG_HOME}/NTY-CORE-MONITOR-%d{yyyy-MM-dd}-%i.log </FileNamePattern> <!--日志文件保留天数 --> <MaxHistory>30</MaxHistory> <TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <MaxFileSize>1024MB</MaxFileSize> </TimeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level: 级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} |%-5level |NTY|NA|%thread| %logger{50}|NA| %msg%n</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 配置monitor日志输出 --> <logger name="MONITOR"> <appender-ref ref="MONITOR-FILE" /> </logger> <!-- root也是一个<logger>元素,只是这个是根,默认日志输出到此appender-ref文件中 --> <root level="${log.level}"> <appender-ref ref="STDOUT" /> <appender-ref ref="FILE" /> <appender-ref ref="ERROR-FILE" /> </root></configuration>
上述log代码配置了三种日志文件,分别是普通日志FILE,错误日志ERROR-FILE和告警日志MONITOR。采用RollingFileAppender滚动记录文件,先把日志记录到指定文件,当满足条件时,记录到其他文件。
java代码中调用为:
private final static Logger logger = LoggerFactory .getLogger(EmailSendServcieImpl.class);private final static Logger monitor = LoggerFactory .getLogger("MONITOR");monitor.warn("无模板单邮件发送|failure|" + (endTime - startTime) + " ms|非法Email地址!serialNoI=" + serialNoI);logger.warn(NTYErrorCode.NTY_ERROR_EMAIL_ADDR.getCode() + "非法Email地址:" + email1);
输出目录结构为:
0 0
- 【LogBack】logback日志配置及日志分离
- logback配置日志文件
- logback日志配置
- logback日志配置
- logback日志配置
- logback日志管理配置
- logback配置日志输出
- SpringBoot Logback日志配置
- Logback日志配置
- springboot logback日志配置
- springboot logback 日志配置。
- logback.xml---日志配置
- logback 日志文件配置
- logback 异步日志配置
- logback配置日志
- logback日志配置
- logback日志配置
- Springboot logback日志配置
- 选择团队成员,最应该看重什么?
- jQuery基础学习(二)
- C语言字符串操作函数
- wireshark解析rtp协议,流媒体中的AMR/H263/H264包的方法
- 操作系统安装方法(简易安装)
- logback日志配置
- 常用設計模式
- [Spring实战系列](1)Eclipse下创建Spring-HelloWorld项目
- 解决jboss-eap-6 (jboss7)JCE cannot authenticate the provider BC 的问题
- 日历
- 如何写模块化的代码?
- windows下mongodb的安装
- 进行网络出现问题Error Domain=kCFErrorDomainCFNetwork Code=-1022 "The resource could not be loaded because th
- Android之网络编程(一)WebView 的用法