logback.xml 示例

本文介绍了SLF4J结合Logback在开发及生产环境下的日志配置示例,包括不同级别的日志输出设置及文件滚动策略,并对比了其与Commons Logging+Log4j的优势。

一、开发环境:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>%-20(%d{HH:mm:ss.SSS} [%thread]) %-5level %logger{80} - %msg%n</pattern> </layout> </appender> <logger name="java.sql.PreparedStatement" level="DEBUG" /> <logger name="org.springframework.ui.freemarker" level="DEBUG" /> <root level="INFO"> <appender-ref ref="stdout" /> </root> </configuration>

二、生产环境:

<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>logs/xxx.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>logs/xxx.%d{yyyy-MM-dd}.log.zip</fileNamePattern> </rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>%-20(%d{HH:mm:ss.SSS} [%thread]) %-5level %logger{80} - %msg%n</pattern> </layout> </appender> <root level="WARN"> <appender-ref ref="file" /> </root> </configuration>

slf4j + logback 比commons logging + log4j要方便很多。更重要是带了性能的提升

不爽是,这个配置文件没有schema,甚至一个简陋的dtd都没有提供,于是乎不得不忍受eclipse里面黄黄的warning

logback.xml是用于配置Logback日志框架的文件,下面从配置解析和特殊符号含义两方面进行详细解释。 ### 配置解析 以下是一个只需要控制台打印的logback.xml示例及其解析: ```xml <?xml version="1.0" encoding="UTF-8"?> <configuration> <property name="log.base" value="D:/data/logs/"/> <!-- 生成的日志文件存放地址,如果不需要生成到本地则不需要配置file节点 --> <property name="log.moduleName" value="springboot1"/> <!-- 模块名称, 影响日志配置名,日志文件名 --> <property name="log.max.size" value="10MB"/> <!-- 日志文件大小,决定了日志文件的打包 --> <!--控制台输出 --> <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <Pattern> <![CDATA[%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%.6thread]%logger{36}.%method<%L> %msg%n]]> </Pattern> </encoder> </appender> <root level="debug"> <!--日志等级debug,info,warn,error,fail--> <appender-ref ref="stdout"/> </root> </configuration> ``` - **`<configuration>`**:是整个配置文件的根标签,所有的配置内容都包含在其中。 - **`<property>`**:用于定义属性,方便在配置文件中复用。如 `log.base` 定义了日志文件的存放地址;`log.moduleName` 是模块名称,会影响日志配置名和文件名;`log.max.size` 规定了日志文件的大小,用于日志文件的打包操作 [^2]。 - **`<appender>`**:负责指定日志的输出目的地。这里 `name="stdout"` 是自定义的appender名称,`class="ch.qos.logback.core.ConsoleAppender"` 表示输出到控制台。 - **`<encoder>`**:用于对日志信息进行格式化。`class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"` 是使用模式布局的编码器,`<Pattern>` 标签中定义了日志输出的具体格式 [^2]。 - **`<root>`**:是日志的根节点,`level="debug"` 表示日志的等级为debug,日志等级从低到高有debug、info、warn、error、fail等。`<appender-ref ref="stdout"/>` 表示将日志输出到名为 `stdout` 的appender [^2]。 ### 特殊符号含义 在 `<Pattern>` 中使用了一些特殊符号,如 `%n` 表示换行符 [^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值