1. 通过 LoggerFactory 打印
logback配置: <appender name="lipstick" 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.TimeBasedRollingPolicy"> <FileNamePattern>${LOGPATH}${file.separator}/lipstick/%d{yyyy-MM-dd}.log</FileNamePattern> <MaxHistory>30</MaxHistory> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss} [%F:%L] %-5level - %msg%n</pattern> </encoder> </appender> <logger name="Aclasslog" additivity="false"> <appender-ref ref="lipstick"/> </logger> 类配置: private static Logger log = LoggerFactory.getLogger("Aclasslog"); 保持JAVA代码实例标签MONITOR和配置文件中的LOGGER NAME属性一致即可。 使用的时候直接用 log.info("===info==="); 通过如上代码的实现,就可以看到我们输出的INFO文件是独立的 并且没有系统的任何信息 都是自己指定输出的内容。
2 , 通过注解
@Slf4j(topic = "OPERATE_LOG")
配置logback-spring.xml ,指定文件输出日志
<appender name="FILE_OPERATE_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"> <layout class="com.teleone.common.core.logging.logback.JsonLayout"/> </encoder> <file>${LOG_PATH}/operate.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <fileNamePattern>${LOG_PATH}/operate.log.%d{yyyy-MM-dd}.%i.gz</fileNamePattern> <maxFileSize>${LOG_FILE_MAX_SIZE:-2000MB}</maxFileSize> <maxHistory>${LOG_FILE_MAX_HISTORY:-30}</maxHistory> </rollingPolicy> </appender> <logger name="OPERATE_LOG" level="INFO"> <!--<appender-ref ref="CONSOLE" />--> <appender-ref ref="FILE_OPERATE_LOG"/> </logger>