Rumah  >  Artikel  >  Java  >  Bagaimana untuk mengkonfigurasi rangka kerja log balik springboot

Bagaimana untuk mengkonfigurasi rangka kerja log balik springboot

WBOY
WBOYke hadapan
2023-05-11 10:46:191124semak imbas

Log balik boleh mengkonfigurasi log melalui fail konfigurasi aplikasi dan melalui logback-spring.xml. Dalam keadaan biasa, adalah memadai untuk menggunakan fail konfigurasi global application.yml atau sifat untuk konfigurasi Jika keperluan keluaran log anda amat rumit dan diperibadikan, anda boleh mempertimbangkan untuk menggunakan kaedah konfigurasi logback-spring.xml.

1. Fail konfigurasi aplikasi untuk melaksanakan konfigurasi log

Kami boleh mengkonfigurasi log dalam fail application.properties(yml)

logging:
  level:
    root: info
    com.zimug.boot.launch.controller: debug
  file:
    path: D:\logs
    name: D:\logs\boot-launch.log
    max-size: 10MB
    max-history: 10
  pattern:
    console: '%red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{10}) - %cyan(%msg%n)'
    file: '%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger : %msg%n'
  • logging.level.root=infoNyatakan bahawa tahap log lalai keseluruhan sistem ialah maklumat, tahap log disatukan

  • logging.level.com.zimug.boot.launch.controller=debug dan tahap log pakej tertentu ditentukan sebagai nyahpepijat dan tahap log diperibadikan. Dari perspektif keutamaan, konfigurasi diperibadikan adalah lebih besar daripada konfigurasi bersatu.

  • logging.file.path Keluarkan log ke direktori yang ditentukan Jika

  • logging.file.name tidak dinyatakan, nama lalai fail log. ialah musim bunga.log . Selepas mengkonfigurasi logging.file.name, konfigurasi logging.file.path menjadi tidak sah.

  • Tidak kira apa tetapan, Spring Boot akan secara automatik memisahkan fail log mengikut hari, yang bermaksud bahawa fail log baharu akan dijana secara automatik setiap hari, dan yang sebelumnya akan dibungkus secara automatik ke dalam pakej mampat GZ . # 日志文件大小

  • Anda boleh menetapkan saiz fail maksimum setiap log dibahagikan dengan logging.file.max-size=10MB Selepas saiz ini, log akan terus dibahagikan.

  • Anda boleh menetapkan masa pengekalan log logging.file.max-history=10 dalam beberapa hari

  • logging.pattern.fileFormat output log ke fail

  • logging.pattern.consoleFormat log keluaran konsol Untuk memaparkan kesan dengan lebih jelas semasa penyahpepijatan konsol, warna ditambahkan pada log. merah, hijau, dsb.

Pemegang tempat format log

Dengan gambar ini, mari kita lihat hubungan antara pemegang tempat dan konfigurasi format logging.pattern.console

springboot logback日志框架怎么配置

  • %d{HH:mm:ss.SSS}: Log masa output (merah)

  • % benang: Nama proses yang mengeluarkan log, yang berguna dalam aplikasi web dan pemprosesan tugas tak segerak (hijau)

  • %-5level: Tahap log dan gunakan 5 aksara untuk menjajarkan ke kiri ( serlahkan biru)

  • %logger: nama kelas keluaran log (boldMagenta bold magenta)

  • %msg: log mesej (biru-hijau cyan)

  • %n: aksara baris baharu platform

2. Gunakan logback-spring.xml untuk melaksanakan konfigurasi log

2.1. Cara -spring.xml.

but musim bunga menggunakan log balik sendiri untuk mencetak log, pencetakan berbilang persekitaran:

    Persekitaran pengeluaran menghasilkan output ke konsol dan fail, satu fail setiap hari , disimpan selama 30 hari
  • Persekitaran pembangunan menghasilkan output ke konsol dan mencetak output sql (mybatis) tidak mencetak maklumat ini
  • Uji Persekitaran hanyalah output kepada konsol. Untuk mencetak Mybatis SQL tanpa mengeluarkannya ke fail
, anda hanya perlu melaraskan tahap log pakej yang digunakan dalam Mybatis kepada DEBUG untuk mencetak SQL.

2.2. Realisasi Keperluan

Oleh kerana logback ialah rangka kerja pengelogan lalai bagi but spring, tidak perlu memperkenalkan kebergantungan maven hanya muat naik logback-spring.xml dan letakkannya di bawah sumber

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!--引入默认的一些设置-->
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <!--web信息-->
    <logger name="org.springframework.web" level="info"/>
    <!--写入日志到控制台的appender,用默认的,但是要去掉charset,否则windows下tomcat下乱码-->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
    <property name="LOG_PATH" value="D:/logs/boot-launch"/>
    <!--写入日志到文件的appender-->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名,每天一个文件-->
            <FileNamePattern>${LOG_PATH}.%d{yyyy-MM-dd}.log</FileNamePattern>
            <!--日志文件保留天数-->
            <maxHistory>30</maxHistory>
        </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>
        <!--日志文件最大的大小-->
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>10MB</MaxFileSize>
        </triggeringPolicy>
    </appender>
    <!--异步写日志到文件-->
    <appender name="asyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">
        <discardingThreshold>0</discardingThreshold>
        <queueSize>500</queueSize>
        <appender-ref ref="FILE"/>
    </appender>
    <!--生产环境:打印控制台和输出到文件-->
    <springProfile name="prod">
        <root level="info">
            <appender-ref ref="CONSOLE"/>
            <appender-ref ref="asyncFileAppender"/>
        </root>
    </springProfile>
    <!--开发环境:打印控制台-->
    <springProfile name="dev">
        <!-- 打印sql -->
        <logger name="com.zimug.boot.launch" level="DEBUG"/>
        <root level="DEBUG">
            <appender-ref ref="CONSOLE"/>
        </root>
    </springProfile>
    <!--测试环境:打印控制台-->
    <springProfile name="test">
        <root level="info">
            <appender-ref ref="CONSOLE"/>
        </root>
    </springProfile>
</configuration>

Konfigurasi log tak segerak:

    Saiz gilir log tak segerak Nilai lalai ialah 256, kapasiti baris gilir log tak segerak.
  • membuangAmbang: Apabila baki kapasiti baris gilir log tak segerak kurang daripada ambang ini, log peringkat TRACE, DEBUG atau INFO akan dibuang. Jika anda tidak mahu membuang log (iaitu, menyimpannya sepenuhnya), anda boleh menetapkannya kepada 0. Tetapi apabila baris gilir penuh, log tak segerak tidak menyekat akan menjadi log segerak menyekat. Oleh itu, dalam sistem yang mempunyai kesesuaian tinggi dan keperluan kependaman rendah, dasar membuang Ambang membuang boleh ditetapkan untuk log yang tidak penting, dengan nilai lebih daripada 0.
  • 2.3. Ujian

Selepas konfigurasi di atas selesai, anda boleh menggunakan kod berikut untuk menguji sama ada keperluan yang dicadangkan dalam Bahagian 2.1 dipenuhi.

rreeee

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi rangka kerja log balik springboot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam