(企业 / 公司项目)Java如何打印漂亮的日志?
2023-12-20 00:13:49
启动类
首先在idea创建一个项目这里就不演示了,直接看demo
?找到项目的启动类,首先把启动类日志打印基本信息,这样就不用找来找去找不到地址以及端口
主要作用就是启动一个Spring Boot应用程序,并获取程序的运行环境。首先创建一个SpringApplication对象,并传入应用程序的主类MemberApplication.class。接着通过调用run()方法启动应用程序,并获取应用程序的运行环境对象Environment。然后使用LOG.info()方法输出一段启动成功的日志信息。最后使用LOG.info()方法再输出一段访问地址的日志信息,其中通过调用environment.getProperty("server.port")方法获取当前应用程序的端口号,并将其作为占位符填入日志信息中。 记住仔细看导入的包
package com.javawa.train.member.config;
import org.mybatis.spring.annotation.MapperScan;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.env.Environment;
@SpringBootApplication
@ComponentScan("com.javawa")
@MapperScan("com.javawa.train.member.mapper")
public class MemberApplication {
// 定义日志变量
private static final Logger LOG = LoggerFactory.getLogger(MemberApplication.class);
public static void main(String[] args) {
SpringApplication app = new SpringApplication(MemberApplication.class);
Environment environment = app.run(args).getEnvironment();
LOG.info("启动成功!!!");
// 前面为 地址{} 参数为占位符
LOG.info("访问地址:\thttp:/127.0.0.1:{}",environment.getProperty("server.port"));
}
}
?接口日志以及各种日志
有两个版本 有些是logback.xml 有些是logback-spring.xml
xml配置如下:
?<!-- 修改一下路径-->
? ? <property name="PATH" value="./log/member"></property> 这里是你可以多个模块的话就可以把/member换成你自己的模块名字,配置以后就会生成日志到你项目路径中自动创建一个log包里面就是你的日志
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 修改一下路径-->
<!-- 定义一个名为"PATH"的属性,其值为"./log/member",这个路径用于指定日志文件输出的目录。-->
<property name="PATH" value="./log/member"></property>
<!--定义一个名为"STDOUT"的appender,其类为"ch.qos.logback.core.ConsoleAppender",用于将日志输出到控制台。-->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- 定义日志输出的格式,包括时间、日志级别、日志器名称、行号、线程名、日志ID和日志信息。其中,%d{mm:ss.SSS}表示时间格式为"mm:ss.SSS",%highlight表示高亮日志级别,%blue表示高亮日志器名称,%green表示高亮日志ID。-->
<!-- <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %blue(%-50logger{50}:%-4line) %thread %msg%n</Pattern>-->
<Pattern>%d{mm:ss.SSS} %highlight(%-5level) %blue(%-30logger{30}:%-4line) %thread %green(%-16X{LOG_ID}) %msg%n</Pattern>
</encoder>
</appender>
<!-- 错误日志 -->
<!-- 定义一个名为"TRACE_FILE"的appender,其类为"ch.qos.logback.core.rolling.RollingFileAppender",用于将日志输出到文件。-->
<appender name="TRACE_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${PATH}/trace.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${PATH}/trace.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<layout>
<!-- 定义日志输出的格式,包括时间、日志级别、日志器名称、行号、线程名、日志ID和日志信息。其中,%d{mm:ss.SSS}表示时间格式为"mm:ss.SSS",%highlight表示高亮日志级别,%blue表示高亮日志器名称,%green表示高亮日志ID。-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-50logger{50}:%-4line %thread %green(%-16X{LOG_ID}) %msg%n</pattern>
</layout>
</appender>
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${PATH}/error.log</file>
<!-- 定义滚动策略,用于定期创建新的日志文件。-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 定义日志文件名格式,包括日期和编号。其中,%d{yyyy-MM-dd}表示日期格式为"yyyy-MM-dd",%i表示编号,从0开始递增。-->
<FileNamePattern>${PATH}/error.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<layout>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-50logger{50}:%-4line %thread %green(%-16X{LOG_ID}) %msg%n</pattern>
</layout>
<!-- :定义日志过滤器,只允许日志级别为"ERROR"的日志通过。-->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 设置日志过滤器的日志级别为"ERROR"。-->
<level>ERROR</level>
<!-- 设置日志过滤器匹配时执行的操作,这里是接受日志。-->
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<root level="ERROR">
<appender-ref ref="ERROR_FILE" />
</root>
<root level="TRACE">
<appender-ref ref="TRACE_FILE" />
</root>
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
以上是一个logback配置文件,用于配置日志的输出格式、文件名、大小、级别等信息。
?
文章来源:https://blog.csdn.net/qq_60870118/article/details/135094720
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!