第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

為什么兩個(gè) Logger 不根據(jù) Log4j 中的級別拆分消息?

為什么兩個(gè) Logger 不根據(jù) Log4j 中的級別拆分消息?

拉丁的傳說 2023-08-09 15:33:16
我想將所有記錄器級別記錄到文件中(FATAL-> ALL),并同時(shí)在控制臺(tái)中顯示錯(cuò)誤級別及更高級別。我使用根記錄器將所有級別記錄到文件中,并使用單獨(dú)的記錄器將錯(cuò)誤級別記錄到控制臺(tái)。我的 XML 配置文件如下所示:<?xml version="1.0" encoding="UTF-8"?><Configuration status="WARN">    <Appenders>        <Console name="Console" target="SYSTEM_OUT">            <PatternLayout                    pattern="%d{HH:mm:ss.SSS} [%t] %highlight{%level}{FATAL=bg_red, ERROR=red, WARN=yellow, INFO=blue} %logger{36} - %msg%n" disableAnsi="false"/>        </Console>        <File name="File" fileName="output.log" bufferedIO="true" >            <PatternLayout                    pattern="%d{HH:mm:ss.SSS} [%t] %highlight{%level}{FATAL=bg_red, ERROR=red, WARN=yellow, INFO=blue} %logger{36} - %msg%n"/>        </File>    </Appenders>    <Loggers>        <Root level="ALL">            <AppenderRef ref="File"/>        </Root>        <Logger name="com.danielk" level="ERROR">            <AppenderRef ref="Console"/>        </Logger>    </Loggers></Configuration>我希望在文件中擁有所有級別的日志記錄,并且在控制臺(tái)中只有“錯(cuò)誤”及以上級別,但我在兩者(控制臺(tái)和文件)上都只有“錯(cuò)誤”級別:23:19:54.422 [main] 錯(cuò)誤 com.danielk.Example - 示例中的錯(cuò)誤錯(cuò)誤 23:19:54.434 [main] 錯(cuò)誤 com.danielk.Main - 錯(cuò)誤 ERROR ERROR FROM MAIN消息本身是正確構(gòu)建的,因?yàn)楫?dāng)我將兩個(gè)記錄器(根記錄器和附加記錄器)設(shè)置為“全部”級別時(shí),我可以看到所有類型的消息(不僅僅是“錯(cuò)誤”級別)。我應(yīng)該怎么做來分層:文件 - 所有級別控制臺(tái) - 僅錯(cuò)誤及以上錯(cuò)誤?
查看完整描述

1 回答

?
aluckdog

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(gè)贊

您可以ThresholdFilter在控制臺(tái)附加程序上使用來過濾掉具有ERROR或更特定級別的日志事件

整個(gè)配置例如:

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

<Configuration status="WARN">

? ? <Appenders>

? ? ? ? <Console name="Console" target="SYSTEM_OUT">

? ? ? ? ? ? <PatternLayout

? ? ? ? ? ? ? ? ? ? pattern="%d{HH:mm:ss.SSS} [%t] %highlight{%level}{FATAL=bg_red, ERROR=red, WARN=yellow, INFO=blue} %logger{36} - %msg%n"

? ? ? ? ? ? ? ? ? ? disableAnsi="false"/>

? ? ? ? ? ? <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>

? ? ? ? </Console>

? ? ? ? <File name="File" fileName="output.log" bufferedIO="true" append="false">

? ? ? ? ? ? <PatternLayout

? ? ? ? ? ? ? ? ? ? pattern="%d{HH:mm:ss.SSS} [%t] %highlight{%level}{FATAL=bg_red, ERROR=red, WARN=yellow, INFO=blue} %logger{36} - %msg%n"/>

? ? ? ? </File>

? ? </Appenders>

? ? <Loggers>

? ? ? ? <Root level="debug">

? ? ? ? ? ? <AppenderRef ref="File"/>

? ? ? ? ? ? <AppenderRef ref="Console"/>

? ? ? ? </Root>

? ? </Loggers>

</Configuration>

PS 當(dāng)您指定:


<Logger name="com.danielk" level="ERROR">

? ?<AppenderRef ref="Console"/>

</Logger>

然后將日志級別設(shè)置ERROR為內(nèi)部所有子包和類com.danielk(除非您配置更具體的記錄器,例如com.danielk.db.MyClass使用不同的級別)。這就是日志文件中只出現(xiàn)錯(cuò)誤的原因。


查看完整回答
反對 回復(fù) 2023-08-09
  • 1 回答
  • 0 關(guān)注
  • 143 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號