java使用日志

尽意
2024-02-03 / 0 评论 / 45 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年02月03日,已超过354天没有更新,若内容或图片失效,请留言反馈。

maven工程中
引入日志门面框架

 <!--日志门面-->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>2.0.7</version>
        </dependency>

引入日志实现框架

<!--logback 日志实现-->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.4.8</version>
        </dependency>

在resource目录下配置 logback.xml 文件

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>

    <!--
        配置集中管理属性
        我们可以直接修改属性的value值
        格式:${name}
    -->

    <property name="pattern" value="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} %c %M %L [%thread] %m%n"></property>

    <!--
    日志输出格式:
        %-5level
        %d{yyyy-MM-dd HH:mm:ss.SSS}日期
        %c类的完整名称
        %M为方法
        %L为行号
        %thread为线程名称
        %m或者$msg为信息
        %n换行
    -->

    <!--定义日志文件保存路径属性-->
    <!--win写/log会在盘符根目录,logs/在项目根目录-->
    <property name="log_dir" value="logs/"></property>

    <!--控制日志输出的appender-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!--控制输出流对象 默认System.out 改为System.err-->
        <target>System.err</target>
        <!--日志消息格式配置-->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${pattern}</pattern>
        </encoder>
    </appender>

    <!--日志文件输出的appender-->
    <appender name="file" class="ch.qos.logback.core.FileAppender">
        <!--日志文件保存路径-->
        <file>${log_dir}/logback.log</file>
        <!--日志消息格式配置-->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${pattern}</pattern>
        </encoder>
    </appender>

    <!--root logger 配置-->
    <root level="ALL">
        <appender-ref ref="console"/>
<!--        <appender-ref ref="file"/>-->
    </root>
</configuration>

在java文件中引入使用

public static final Logger logger = LoggerFactory.getLogger(Application.class);

finish

2

评论 (0)

取消