国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

濰坊網(wǎng)站優(yōu)化sem和seo是什么意思

濰坊網(wǎng)站優(yōu)化,sem和seo是什么意思,企業(yè)如何建立網(wǎng)站,凡科微傳單制作官網(wǎng)什么是logback logback 繼承自 log4j,它建立在有十年工業(yè)經(jīng)驗(yàn)的日志系統(tǒng)之上。它比其它所有的日志系統(tǒng)更快并且更小,包含了許多獨(dú)特并且有用的特性。 logback.xml 首先直接上配置,我在項(xiàng)目過(guò)程中發(fā)現(xiàn)一些同時(shí)遇到需要logback文件的時(shí)候就去…

什么是logback

logback 繼承自 log4j,它建立在有十年工業(yè)經(jīng)驗(yàn)的日志系統(tǒng)之上。它比其它所有的日志系統(tǒng)更快并且更小,包含了許多獨(dú)特并且有用的特性。

logback.xml

首先直接上配置,我在項(xiàng)目過(guò)程中發(fā)現(xiàn)一些同時(shí)遇到需要logback文件的時(shí)候就去其他項(xiàng)目copy一個(gè),改吧改吧名字就直接完事。完全不了解其中標(biāo)簽的含義以及需要單獨(dú)將日志打入一個(gè)文件怎么使用都不清楚,如果你需要一個(gè)logback可以把底下的copy走,但是我建議看看后續(xù)的標(biāo)簽含義。

<?xml version="1.0" encoding="UTF-8"?>
<!-- 每隔20S掃描1次配置文件,如果配置文件被修改自動(dòng)加載 -->
<configuration scan="true" scanPeriod="20 seconds"><!-- Windows操作系統(tǒng) --><if condition='property("os.name").contains("Windows")'><then><property name="LOG_FILE_ROOT" value="D://opt/applog/logs"/><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS}[%level][%thread][%logger.java:%line] - %msg%n</pattern></encoder></appender></then></if><!-- MAC操作系統(tǒng) --><if condition='property("os.name").toUpperCase().contains("MAC")'><then><property name="LOG_FILE_ROOT" value=".log/logs" /><!-- 控制臺(tái)輸出 --><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS}[%level][%thread][%logger.java:%line] - %msg%n</pattern></encoder></appender></then></if><!-- Linux操作系統(tǒng) --><if condition='property("os.name").contains("Linux")'><then><property name="LOG_FILE_ROOT" value="/opt/applog/-logs"/><!-- 控制臺(tái)輸出 --><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS}[%level][%thread][%logger.java:%line] - %msg%n</pattern></encoder></appender></then></if><springProfile name="dev"><appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_FILE_ROOT}/web-debug.log</file><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>DEBUG</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${LOG_FILE_ROOT}/web-debug-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern><maxFileSize>100MB</maxFileSize><maxHistory>7</maxHistory><cleanHistoryOnStart>true</cleanHistoryOnStart></rollingPolicy><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS}[%level][%thread][%logger.java:%line] - %msg%n</pattern></encoder></appender></springProfile><!-- 時(shí)間滾動(dòng)輸出 level為 INFO 日志 --><appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_FILE_ROOT}/web-info.log</file><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.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${LOG_FILE_ROOT}/web-info-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern><maxFileSize>100MB</maxFileSize><maxHistory>20</maxHistory><cleanHistoryOnStart>true</cleanHistoryOnStart></rollingPolicy><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS}[%level][%thread][%logger.java:%line] - %msg%n</pattern></encoder></appender><!-- 時(shí)間滾動(dòng)輸出 level為 WARN 日志 --><appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_FILE_ROOT}/web-warn.log</file><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>WARN</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${LOG_FILE_ROOT}/web-warn-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern><maxFileSize>100MB</maxFileSize><maxHistory>7</maxHistory><cleanHistoryOnStart>true</cleanHistoryOnStart></rollingPolicy><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS}[%level][%thread][%logger.java:%line] - %msg%n</pattern></encoder></appender><!-- 時(shí)間滾動(dòng)輸出 level為 ERROR 日志 --><appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_FILE_ROOT}/web-error.log</file><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>ERROR</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${LOG_FILE_ROOT}/web-error-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern><maxFileSize>100MB</maxFileSize><maxHistory>30</maxHistory><cleanHistoryOnStart>true</cleanHistoryOnStart></rollingPolicy><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS}[%level][%thread][%logger.java:%line] - %msg%n</pattern></encoder></appender><!-- root Logger 分環(huán)境進(jìn)行配置,本地環(huán)境需要用的DEBUG --><springProfile name="dev"><root level="DEBUG"><appender-ref ref="STDOUT"/><appender-ref ref="DEBUG"/><appender-ref ref="INFO"/><appender-ref ref="WARN"/><appender-ref ref="ERROR"/></root></springProfile><springProfile name="pro"><root level="INFO"><appender-ref ref="STDOUT"/><appender-ref ref="INFO"/><appender-ref ref="WARN"/><appender-ref ref="ERROR"/></root></springProfile></configuration>

<root>標(biāo)簽

在 Logback 日志框架中,<root level> 標(biāo)簽用于定義根日志級(jí)別。根日志級(jí)別是指所有日志記錄器的默認(rèn)級(jí)別,如果沒有為特定的日志記錄器指定級(jí)別,則會(huì)使用根日志級(jí)別。

根日志級(jí)別通過(guò)<root> 元素來(lái)表示,其語(yǔ)法如下:

<root level="級(jí)別"><!-- appender 配置 -->
</root>

在這里插入圖片描述

在這里,level 屬性用于指定根日志級(jí)別。根日志級(jí)別可以是以下之一:TRACE、DEBUG、INFO、WARN、ERROR 或 OFF。級(jí)別由低到高,TRACE 是最詳細(xì)的級(jí)別,而 OFF 表示禁用日志記錄。

當(dāng)一個(gè)日志事件發(fā)送到 Logback 時(shí),它將首先檢查根日志級(jí)別。如果事件的級(jí)別高于或等于根日志級(jí)別,那么該事件將被記錄下來(lái)。如果事件的級(jí)別低于根日志級(jí)別,那么它將被忽略。

因此,通過(guò)設(shè)置 <root level> 標(biāo)簽,您可以為整個(gè)應(yīng)用程序指定默認(rèn)的日志記錄級(jí)別。您還可以在其他地方針對(duì)特定的日志記錄器設(shè)置級(jí)別,以覆蓋根日志級(jí)別的默認(rèn)設(shè)置。

<appender-ref>標(biāo)簽

<appender-ref> 標(biāo)簽用于將日志事件附加器(appender)與特定的日志記錄器相關(guān)聯(lián)。在 Logback 配置文件中,可以使用 <appender-ref> 標(biāo)簽將一個(gè)或多個(gè)附加器與日志記錄器關(guān)聯(lián)起來(lái)。

<appender-ref> 元素的語(yǔ)法如下:

<appender-ref ref="附加器名稱" />

在這里,ref 屬性用于指定要關(guān)聯(lián)的附加器的名稱。附加器名稱應(yīng)與配置文件中定義的附加器的名稱匹配。

通過(guò)使用 <appender-ref> 標(biāo)簽,您可以將一個(gè)或多個(gè)附加器(例如文件附加器、控制臺(tái)附加器等)與日志記錄器相關(guān)聯(lián)。這意味著當(dāng)日志事件到達(dá)該日志記錄器時(shí),它將被傳遞給與之關(guān)聯(lián)的附加器進(jìn)行處理。這樣可以根據(jù)需要將日志事件輸出到不同的目標(biāo),例如文件、控制臺(tái)、遠(yuǎn)程服務(wù)器等。

以下是一個(gè)示例,展示如何使用 <appender-ref> 標(biāo)簽將附加器與日志記錄器關(guān)聯(lián):

<configuration><!-- 定義附加器 --><appender name="ConsoleAppender" class="ch.qos.logback.core.ConsoleAppender"><!-- 附加器配置 --></appender><!-- 定義日志記錄器 --><logger name="com.example.MyClass" level="DEBUG"><!-- 關(guān)聯(lián)附加器 --><appender-ref ref="ConsoleAppender" /></logger>
</configuration>

在上面的示例中,ConsoleAppender 是一個(gè)控制臺(tái)附加器,它被定義在 <appender> 元素中。然后,通過(guò)使用 <appender-ref> 標(biāo)簽,將該附加器與名為 com.example.MyClass 的日志記錄器關(guān)聯(lián)起來(lái)。這意味著 com.example.MyClass 日志記錄器的日志事件將被發(fā)送到 ConsoleAppender 進(jìn)行處理。

通過(guò)適當(dāng)配置 <appender-ref> 標(biāo)簽,您可以將多個(gè)附加器關(guān)聯(lián)到同一個(gè)日志記錄器,或者將同一個(gè)附加器關(guān)聯(lián)到多個(gè)日志記錄器,以滿足您的日志輸出需求。

簡(jiǎn)單的說(shuō):上述的示例就可以為我們輸出日志到自定義的文件夾中。

輸出日志到自定義文件

在開發(fā)的過(guò)程中,難免會(huì)要在info日志和error日志中排查問題,那么一個(gè)應(yīng)用部署在測(cè)試環(huán)境或者uat環(huán)境的時(shí)候,會(huì)產(chǎn)生大量的日志在日志文件中,如果我們需要查詢相關(guān)的日志記錄通常linux會(huì)使用grep來(lái)進(jìn)行搜索來(lái)滿足需求。如果你的功能會(huì)被大量調(diào)用,并且需要詳細(xì)記錄前后流轉(zhuǎn)的參數(shù);又或者在測(cè)試階段需要把用戶所有的權(quán)限和角色在日志文件中打印觀察。此時(shí)你可能需要把你這部分的功能開發(fā)日志打印到一個(gè)單獨(dú)的日志文件中。

<!-- root Logger 分環(huán)境進(jìn)行配置,本地環(huán)境需要用的DEBUG --><springProfile name="dev"><root level="DEBUG"><appender-ref ref="STDOUT"/><appender-ref ref="DEBUG"/><appender-ref ref="INFO"/><appender-ref ref="WARN"/><appender-ref ref="ERROR"/></root></springProfile><springProfile name="pro"><root level="INFO"><appender-ref ref="STDOUT"/><appender-ref ref="INFO"/><appender-ref ref="WARN"/><appender-ref ref="ERROR"/></root></springProfile>

根據(jù)springProfile標(biāo)簽,我們可以分環(huán)境配置,dev環(huán)境的root級(jí)別改為DEBUG級(jí)別,pro環(huán)境使用INFO級(jí)別。所以如果你需要觀察用戶權(quán)限問題打的日志可以使用log.debug()來(lái)記錄在debug的日志文件中。

那么如果想要新建一個(gè)日志文件(非info、error、warn、debug)的日志,例如支付相關(guān)的日志都放入paylog文件中。不管是DEBUG INFO WARN ERROR都直接放一起,那么我們需要自定義一個(gè)附加器appender和一個(gè)日志記錄器logger。

附加器定義如下:

<appender name="pay" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_FILE_ROOT}/qhyu.log</file><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>DEBUG</level><onMatch>ACCEPT</onMatch><onMismatch>NEUTRAL</onMismatch></filter><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>INFO</level><onMatch>ACCEPT</onMatch><onMismatch>NEUTRAL</onMismatch></filter><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>WARN</level><onMatch>ACCEPT</onMatch><onMismatch>NEUTRAL</onMismatch></filter><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>ERROR</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${LOG_FILE_ROOT}/qhyu-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern><maxFileSize>100MB</maxFileSize><maxHistory>20</maxHistory><cleanHistoryOnStart>true</cleanHistoryOnStart></rollingPolicy><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS}[%level][%thread][%logger.java:%line] - %msg%n</pattern></encoder></appender>

在 Logback 的過(guò)濾器配置中,<onMatch><onMismatch> 標(biāo)簽用于指定過(guò)濾器匹配和不匹配時(shí)的行為。它們需要配套使用。

  • <onMatch>:該標(biāo)簽定義了當(dāng)日志事件與過(guò)濾器匹配時(shí)的操作。它有以下參數(shù):

    • ACCEPT:表示接受(通過(guò))匹配的日志事件,將其傳遞給后續(xù)的附加器或日志記錄器進(jìn)行處理。

    • NEUTRAL:表示中立,不對(duì)匹配的日志事件進(jìn)行特殊處理,繼續(xù)按照日志處理流程進(jìn)行傳遞。

    • DENY:表示拒絕(攔截)匹配的日志事件,不將其傳遞給后續(xù)的附加器或日志記錄器。

  • <onMismatch>:該標(biāo)簽定義了當(dāng)日志事件與過(guò)濾器不匹配時(shí)的操作。它有以下參數(shù):

  • ACCEPT:表示接受(通過(guò))不匹配的日志事件,將其傳遞給后續(xù)的附加器或日志記錄器進(jìn)行處理。

  • NEUTRAL:表示中立,不對(duì)不匹配的日志事件進(jìn)行特殊處理,繼續(xù)按照日志處理流程進(jìn)行傳遞。

  • DENY:表示拒絕(攔截)不匹配的日志事件,不將其傳遞給后續(xù)的附加器或日志記錄器。

通常情況下,應(yīng)該將 <onMatch><onMismatch> 標(biāo)簽配對(duì)使用,以明確指定匹配和不匹配時(shí)的操作。例如,可以將匹配時(shí)的操作設(shè)置為 ACCEPT,表示允許通過(guò)匹配的日志事件,而將不匹配時(shí)的操作設(shè)置為 DENY,表示拒絕不匹配的日志事件。

以下是一個(gè)示例配置:

<filter class="ch.qos.logback.classic.filter.LevelFilter"><level>INFO</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch>
</filter>

在上述示例中,過(guò)濾器的配置指定了當(dāng)日志事件的級(jí)別為 INFO 時(shí),執(zhí)行匹配操作為 ACCEPT,而當(dāng)日志事件的級(jí)別不是 INFO 時(shí),執(zhí)行不匹配操作為 DENY。這意味著只有級(jí)別為 INFO 的日志事件才會(huì)通過(guò)過(guò)濾器,其他級(jí)別的日志事件將被拒絕。

因?yàn)槲蚁氚阉械娜罩径即虻揭粋€(gè)文件中,不區(qū)分info error還是warn所以我將四個(gè)過(guò)濾器放在同一個(gè)附加器中,如果你想為這個(gè)文件拆分的話可以配合日志記錄器一起使用,也就是接下來(lái)要說(shuō)的內(nèi)容。

日志記錄器如下:

<logger name="PAYLOGGER" level="DEBUG" additivity="false"><appender-ref ref="pay"/></logger>

在這里插入圖片描述

如果使用的是自定義name,那么自己使用的時(shí)候需要定義Logger logger = LoggerFactory.getLogger(“PAYLOGGER”);這樣可以在任意的類中直接使用。

<logger> 標(biāo)簽用于配置特定包或類的日志記錄器。它允許您為特定的包或類設(shè)置不同于根日志記錄器的日志級(jí)別、附加器和其他屬性。

<logger> 標(biāo)簽有以下常用的屬性:

  • name:指定要配置的包或類的名稱??梢允褂冒蝾惖娜薅?。例如,com.swcares.eupsi.airplaneSale。

  • level:設(shè)置該日志記錄器的日志級(jí)別??梢允?TRACEDEBUGINFO、WARNERROR 等級(jí)別。例如,INFO

  • additivity:指定是否繼承父級(jí)日志記錄器的附加器。如果設(shè)置為 true,則該日志記錄器將繼承父級(jí)日志記錄器的附加器;如果設(shè)置為 false,則該日志記錄器將僅使用自己配置的附加器。默認(rèn)值為 true。

除了上述常用屬性外,<logger> 標(biāo)簽還可以配置其他屬性,如 <appender-ref> 標(biāo)簽引用的附加器、<filter> 標(biāo)簽設(shè)置的過(guò)濾器等。這些屬性可以根據(jù)您的需求進(jìn)行配置和調(diào)整。

以下是一個(gè)示例 <logger> 標(biāo)簽的配置:

<logger name="com.qhyu.pay.modules.test" level="INFO" additivity="false"><appender-ref ref="SOME_APPENDER"/>
</logger>

在上述示例中,<logger> 標(biāo)簽配置了名為 com.qhyu.pay.modules.test 的日志記錄器,將日志級(jí)別設(shè)置為 INFO,并指定了一個(gè)名為 SOME_APPENDER 的附加器。此外,additivity 屬性被設(shè)置為 false,表示該日志記錄器不會(huì)繼承父級(jí)日志記錄器的附加器。

這種配置就是可以在這個(gè)類中直接使用,不需要定義Logger了。

在這里插入圖片描述

通過(guò)使用 <logger> 標(biāo)簽,您可以對(duì)特定的包或類進(jìn)行精細(xì)化的日志配置,以滿足不同部分的日志記錄需求。

完整xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- 每隔20S掃描1次配置文件,如果配置文件被修改自動(dòng)加載 -->
<configuration scan="true" scanPeriod="20 seconds"><!-- Windows操作系統(tǒng) --><if condition='property("os.name").contains("Windows")'><then><property name="LOG_FILE_ROOT" value="D://opt/applog/logs"/><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS}[%level][%thread][%logger.java:%line] - %msg%n</pattern></encoder></appender></then></if><!-- MAC操作系統(tǒng) --><if condition='property("os.name").toUpperCase().contains("MAC")'><then><property name="LOG_FILE_ROOT" value=".log/logs"/><!-- 控制臺(tái)輸出 --><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS}[%level][%thread][%logger.java:%line] - %msg%n</pattern></encoder></appender></then></if><!-- Linux操作系統(tǒng) --><if condition='property("os.name").contains("Linux")'><then><property name="LOG_FILE_ROOT" value="/opt/applog/-logs"/><!-- 控制臺(tái)輸出 --><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS}[%level][%thread][%logger.java:%line] - %msg%n</pattern></encoder></appender></then></if><springProfile name="dev"><appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_FILE_ROOT}/web-debug.log</file><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>DEBUG</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${LOG_FILE_ROOT}/web-debug-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern><maxFileSize>100MB</maxFileSize><maxHistory>7</maxHistory><cleanHistoryOnStart>true</cleanHistoryOnStart></rollingPolicy><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS}[%level][%thread][%logger.java:%line] - %msg%n</pattern></encoder></appender></springProfile><!-- 時(shí)間滾動(dòng)輸出 level為 INFO 日志 --><appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_FILE_ROOT}/web-info.log</file><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.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${LOG_FILE_ROOT}/web-info-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern><maxFileSize>100MB</maxFileSize><maxHistory>20</maxHistory><cleanHistoryOnStart>true</cleanHistoryOnStart></rollingPolicy><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS}[%level][%thread][%logger.java:%line] - %msg%n</pattern></encoder></appender><!-- 時(shí)間滾動(dòng)輸出 level為 INFO 日志 --><appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_FILE_ROOT}/web-warn.log</file><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>WARN</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${LOG_FILE_ROOT}/web-warn-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern><maxFileSize>100MB</maxFileSize><maxHistory>7</maxHistory><cleanHistoryOnStart>true</cleanHistoryOnStart></rollingPolicy><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS}[%level][%thread][%logger.java:%line] - %msg%n</pattern></encoder></appender><!-- 時(shí)間滾動(dòng)輸出 level為 ERROR 日志 --><appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_FILE_ROOT}/web-error.log</file><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>ERROR</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${LOG_FILE_ROOT}/web-error-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern><maxFileSize>100MB</maxFileSize><maxHistory>30</maxHistory><cleanHistoryOnStart>true</cleanHistoryOnStart></rollingPolicy><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS}[%level][%thread][%logger.java:%line] - %msg%n</pattern></encoder></appender><!-- 時(shí)間滾動(dòng)輸出 所有級(jí)別的日志到預(yù)計(jì)的文件中 --><appender name="pay" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_FILE_ROOT}/pay.log</file><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>DEBUG</level><onMatch>ACCEPT</onMatch><onMismatch>NEUTRAL</onMismatch></filter><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>INFO</level><onMatch>ACCEPT</onMatch><onMismatch>NEUTRAL</onMismatch></filter><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>WARN</level><onMatch>ACCEPT</onMatch><onMismatch>NEUTRAL</onMismatch></filter><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>ERROR</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${LOG_FILE_ROOT}/pay-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern><maxFileSize>100MB</maxFileSize><maxHistory>20</maxHistory><cleanHistoryOnStart>true</cleanHistoryOnStart></rollingPolicy><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS}[%level][%thread][%logger.java:%line] - %msg%n</pattern></encoder></appender><!--<logger name="com.qhyu.pay.modules.test" level="DEBUG" additivity="false"><appender-ref ref="pay"/></logger>--><logger name="PAYLOGGER" level="DEBUG" additivity="false"><appender-ref ref="pay"/></logger><!-- root Logger 分環(huán)境進(jìn)行配置,本地環(huán)境需要用的DEBUG --><springProfile name="dev"><root level="DEBUG"><appender-ref ref="STDOUT"/><appender-ref ref="DEBUG"/><appender-ref ref="INFO"/><appender-ref ref="WARN"/><appender-ref ref="ERROR"/></root></springProfile><springProfile name="pro"><root level="INFO"><appender-ref ref="STDOUT"/><appender-ref ref="INFO"/><appender-ref ref="WARN"/><appender-ref ref="ERROR"/></root></springProfile>
</configuration>
http://m.aloenet.com.cn/news/36627.html

相關(guān)文章:

  • 網(wǎng)站怎么優(yōu)化推廣怎么搜索關(guān)鍵詞
  • 慈溪外貿(mào)公司網(wǎng)站優(yōu)化營(yíng)商環(huán)境的意義
  • 動(dòng)態(tài)網(wǎng)站建設(shè)04章在線測(cè)試關(guān)鍵詞排名優(yōu)化易下拉霸屏
  • 北京12345網(wǎng)上投訴平臺(tái)seo搜索引擎優(yōu)化報(bào)價(jià)
  • 免費(fèi)政府網(wǎng)站html模板百度首頁(yè)快速排名系統(tǒng)
  • 廣西建設(shè)廳網(wǎng)站是什么關(guān)鍵詞優(yōu)化需要從哪些方面開展?
  • 宣武網(wǎng)站建設(shè)低價(jià)刷贊網(wǎng)站推廣
  • 網(wǎng)站域名綁定seo搜索優(yōu)化專員招聘
  • 免費(fèi)網(wǎng)絡(luò)翻外墻軟件寧波seo高級(jí)方法
  • 濰坊哪里能找到做網(wǎng)站的seo廣告平臺(tái)
  • 網(wǎng)站建設(shè)服務(wù)提供商搜索引擎排名
  • 網(wǎng)站做的好不好看什么廣州seo
  • 做站群一個(gè)網(wǎng)站多少錢網(wǎng)站建設(shè)的整體流程有哪些
  • 怎樣克隆別人的網(wǎng)站上海百度推廣優(yōu)化排名
  • 阿里巴巴網(wǎng)站更新怎么做百度競(jìng)價(jià)優(yōu)化
  • h5商城網(wǎng)站怎么做的河北seo平臺(tái)
  • 網(wǎng)站評(píng)論源碼制作網(wǎng)站的步驟和過(guò)程
  • 網(wǎng)站建設(shè)移動(dòng)端是什么意思百青藤?gòu)V告聯(lián)盟
  • 東莞網(wǎng)站優(yōu)化方案鄭州seo聯(lián)系搜點(diǎn)網(wǎng)絡(luò)效果好
  • 網(wǎng)站優(yōu)化建設(shè)上海西安網(wǎng)頁(yè)設(shè)計(jì)
  • 2023b站免費(fèi)推廣網(wǎng)seo是怎么優(yōu)化上去
  • 網(wǎng)站建設(shè)公司做前端廣告代運(yùn)營(yíng)
  • 一件代發(fā)幫做網(wǎng)站的騙局百度關(guān)鍵詞搜索量
  • android開發(fā)app西安seo搜推寶
  • 怎么做移動(dòng)網(wǎng)站seo外包公司哪家好
  • 優(yōu)質(zhì)的seo網(wǎng)站排名優(yōu)化軟件下載安裝百度
  • 國(guó)際疫情最新消息惠州seo優(yōu)化服務(wù)
  • 愛站seo查詢軟件推廣平臺(tái) 賺傭金
  • 網(wǎng)站開發(fā)還是做數(shù)據(jù)庫(kù)開發(fā)代理公司注冊(cè)
  • 網(wǎng)站改標(biāo)題不改版 k網(wǎng)絡(luò)推廣技術(shù)外包