日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

logback常用配置

發布時間:2024/9/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 logback常用配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

1實現.控制臺輸出

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><target>System.out</target><encoder><Pattern> %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36}-%msg%n </Pattern><charset>utf-8</charset></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>error</level><onMatch>DENY</onMatch><onMismatch>ACCEPT</onMismatch></filter> </appender> <appender name="STDOUT_ERROR" class="ch.qos.logback.core.ConsoleAppender"><target>System.err</target><encoder><Pattern> %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} -%msg%n </Pattern><charset>utf-8</charset></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>error</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter> </appender>

2實現:將所有的日志消息一直追加到指定的文件中

<appender name="FILE_APPEND" class="ch.qos.logback.core.FileAppender"><file>F:/log/test/logback.log</file><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><Pattern> %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} -%msg%n </Pattern><charset>utf-8</charset></encoder><append>true</append> </appender>

3實現:每天產生一個日志文件且只保存最近10天的日志

<appender name="FILE_LIMITED_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>F:/log/test/today.log</file><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{36} - %msg%n</pattern><charset>utf-8</charset></encoder><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>F:/log/test/%d{yyyy-MM-dd}.log</fileNamePattern><!-- 10 day --><maxHistory>10</maxHistory></rollingPolicy> </appender>

?4實現.一天產生一個日志,如果當天日志超過10M將進行再分割

<appender name="FILE_DAILY_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>F:/log/test/today.log</file><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><Pattern> %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n </Pattern><charset>utf-8</charset></encoder><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- rollover daily --><fileNamePattern>F:/log/test/%d.%i.log</fileNamePattern><timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><maxFileSize>10MB</maxFileSize></timeBasedFileNamingAndTriggeringPolicy></rollingPolicy> </appender>

5實現:所有的日志消息追加到一個日志文件中,如果該文件超過100M,就將其打包成zip.(歸檔個數不限)
?注意:*fileNamePattern不能使用%d,
? ? ? ? ? *如果歸檔文件名為backup%i.zip,那么日志文件的后綴名(log)將丟失

<appender name="FILE_ARCHIVE" class="ch.qos.logback.core.rolling.RollingFileAppender">?<file>F:/log/test/logback.log</file>?<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">?<fileNamePattern>F:/log/test/backup%i.log.zip</fileNamePattern> ????</rollingPolicy>?<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">?<maxFileSize>100MB</maxFileSize> ????</triggeringPolicy>?<encoder>?<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %level %logger{36} - %msg%n</pattern> ????</encoder> </appender>

6實現: 【在5實的基礎上添加】只保存最近的3個歸檔文件(.zip)

<appender name="FILE_LIMITED_ARCHIVE" class="ch.qos.logback.core.rolling.RollingFileAppender">?<file>F:/log/test/logback.log</file>?<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">?<fileNamePattern>F:/log/test/backup%i.log.zip</fileNamePattern>?<minIndex>1</minIndex>?<maxIndex>3</maxIndex> ????</rollingPolicy>?<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">?<maxFileSize>100MB</maxFileSize> ????</triggeringPolicy>?<encoder>?<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %level %logger{36} - %msg%n</pattern> ????</encoder> </appender>

7.輸出到數據庫

<!--日志異步到數據庫 --> <appender name="DBAppender" class="ch.qos.logback.classic.db.DBAppender"><connectionSource class="ch.qos.logback.core.db.DataSourceConnectionSource"><dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource"><driverClass>com.mysql.jdbc.Driver</driverClass><jdbcUrl>jdbc:mysql://xxxx:3306/xy-pay?autoReconnect=true&amp;failOverReadOnly=false&amp;maxReconnects=10&amp;allowMultiQueries=true</jdbcUrl><user>xxx</user><password>xxx</password></dataSource></connectionSource><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>error</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter></appender>建表如下:BEGIN; DROP TABLE IF EXISTS logging_event_property; DROP TABLE IF EXISTS logging_event_exception; DROP TABLE IF EXISTS logging_event; COMMIT; BEGIN; CREATE TABLE logging_event ( timestmp BIGINT NOT NULL, formatted_message TEXT NOT NULL, logger_name VARCHAR(254) NOT NULL, level_string VARCHAR(254) NOT NULL, thread_name VARCHAR(254), reference_flag SMALLINT, arg0 VARCHAR(254), arg1 VARCHAR(254), arg2 VARCHAR(254), arg3 VARCHAR(254), caller_filename VARCHAR(254) NOT NULL, caller_class VARCHAR(254) NOT NULL, caller_method VARCHAR(254) NOT NULL, caller_line CHAR(4) NOT NULL, event_id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY ); COMMIT; BEGIN; CREATE TABLE logging_event_property ( event_id BIGINT NOT NULL, mapped_key VARCHAR(254) NOT NULL, mapped_value TEXT, PRIMARY KEY(event_id, mapped_key), FOREIGN KEY (event_id) REFERENCES logging_event(event_id) ); COMMIT; BEGIN; CREATE TABLE logging_event_exception ( event_id BIGINT NOT NULL, i SMALLINT NOT NULL, trace_line VARCHAR(254) NOT NULL, PRIMARY KEY(event_id, i), FOREIGN KEY (event_id) REFERENCES logging_event(event_id) ); COMMIT;

?

轉載于:https://my.oschina.net/u/2552286/blog/597895

總結

以上是生活随笔為你收集整理的logback常用配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。