在您的Maven或Gradle项目中,添加Logback依赖。例如,在Maven中,可以将以下依赖添加到pom.xml文件中:
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- <version>1.2.3</version>
- </dependency>
请确保使用最新的Logback版本。
src/main/resources目录下创建一个名为logback.xml的配置文件,用于定义日志的输出方式和级别。以下是一个简单的示例:- <configuration>
- <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
- </encoder>
- </appender>
-
- <root level="info">
- <appender-ref ref="CONSOLE"/>
- </root>
- </configuration>
这里需要借鉴一下其他人的内容,着急做项目的话先用着,收尾的时候慢慢调整,根据不同的用户需求,做出对应的调整
原文链接:https://blog.csdn.net/zhou920786312/article/details/125411387
- <?xml version="1.0" encoding="UTF-8" ?>
- <!--scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。-->
- <!--scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。-->
- <!--debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。-->
- <configuration scan="true" scanPeriod="60 seconds" debug="true">
- <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
- <!-- linux -->
- <property name="LOG_HOME" value="log" />
-
- <contextName>myAppName</contextName>
-
- <!-- 控制台输出 -->
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
- </encoder>
- </appender>
-
- <!-- 按照每天生成日志文件 -->
- <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>INFO</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <!-- rollover daily -->
- <fileNamePattern>${LOG_HOME}/%d{yyyy-MM-dd}/demo.info.%i.log.zip</fileNamePattern>
- <!-- each file should be at most 100MB, keep 60 days worth of history, but at most 1GB -->
- <maxFileSize>100MB</maxFileSize>
- <maxHistory>60</maxHistory>
- <totalSizeCap>1GB</totalSizeCap>
- </rollingPolicy>
- <!--<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">-->
- <!--<!–日志文件输出的文件名–>-->
- <!--<FileNamePattern>${LOG_HOME}/call-%d{yyyy-MM-dd}.log</FileNamePattern>-->
- <!--<!–日志文件保留天数–>-->
- <!--<MaxHistory>30</MaxHistory>-->
- <!--</rollingPolicy>-->
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
- </encoder>
- <!--日志文件最大的大小-->
- <!--<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">-->
- <!--<MaxFileSize>10MB</MaxFileSize>-->
- <!--</triggeringPolicy>-->
- </appender>
-
- <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>WARN</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>${LOG_HOME}/%d{yyyy-MM-dd}/call.warn.%i.log</fileNamePattern>
- <maxFileSize>10MB</maxFileSize>
- <maxHistory>60</maxHistory>
- <totalSizeCap>1GB</totalSizeCap>
- </rollingPolicy>
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
- </encoder>
- </appender>
-
- <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>ERROR</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>${LOG_HOME}/%d{yyyy-MM-dd}/call.error.%i.log</fileNamePattern>
- <maxFileSize>10MB</maxFileSize>
- <maxHistory>60</maxHistory>
- <totalSizeCap>1GB</totalSizeCap>
- </rollingPolicy>
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
- </encoder>
- </appender>
-
- <!-- 日志输出级别 -->
- <root level="INFO">
- <appender-ref ref="STDOUT" />
- </root>
-
- <logger name="top.fyr.demo" level="INFO" additivity="false" >
- <appender-ref ref="INFO_FILE" />
- <appender-ref ref="WARN_FILE" />
- <appender-ref ref="ERROR_FILE" />
- </logger>
-
-
- <!--myibatis log configure-->
- <!--<logger name="com.apache.ibatis" level="TRACE"/>-->
- <!--<logger name="java.sql.Connection" level="DEBUG"/>-->
- <!--<logger name="java.sql.Statement" level="DEBUG"/>-->
- <!--<logger name="java.sql.PreparedStatement" level="DEBUG"/>-->
-
- </configuration>
-
-
-
在您的Java类中,您可以使用Logback记录日志。例如:
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
-
- public class MyClass {
- private static final Logger logger = LoggerFactory.getLogger(MyClass.class);
-
- public void doSomething() {
- logger.debug("Debug message"); //配置文件没有这种级别的定义
- logger.info("Info message");
- logger.error("Error message");
- }
- }
这个类使用了Logback记录不同级别的日志。