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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

自定義附加程序的 log4j2 屬性文件

自定義附加程序的 log4j2 屬性文件

撒科打諢 2022-07-20 21:01:10
我創(chuàng)建了一個自定義附加程序,當我運行測試時它沒有被調(diào)用。以下是屬性的樣子:name=configappenders=console, myCustomAppenderappender.console.type=Consoleappender.console.name=STDOUTappender.console.layout.type=PatternLayout#appender.console.layout.pattern =%d{HH:mm:ss} [%t] %c{1} [%-5level] - %msg%nappender.console.layout.pattern=%d{dd-MM-yyyy HH:mm:ss} [%-5p] (%F:%L) - %m%nappender.myCustomAppender = com.myCompany.logging.log4j.WindowsEventLogAppenderappender.myCustomAppender.name = WindowsEventLogAppenderappender.myCustomAppender.type = WindowsEventLogAppenderrootLogger.level=inforootLogger.appenderRefs=stdout, myCustomAppenderrootLogger.appenderRef.stdout.ref=STDOUT我的附加程序稱為 WindowsEventLogAppender。知道我的屬性文件有什么問題嗎?我看到控制臺測試消息,但沒有來自我的附加程序的消息?,F(xiàn)在我只是在我的自定義 appender 中做一個 System.out.println 來驗證它是否被調(diào)用。順便說一句,我發(fā)現(xiàn)很多 XML 示例用于帶有自定義附加程序的 log4j2 配置,但沒有用于使用屬性文件進行配置。謝謝,-邁克
查看完整描述

3 回答

?
富國滬深

TA貢獻1790條經(jīng)驗 獲得超9個贊

我在這里可能會很晚,但我認為我的回答可以幫助其他人尋找答案。如果這是正確的,請接受這個作為答案!


如果您創(chuàng)建了一個具有如下注釋的自定義附加程序:


@Plugin(name = "MyCustomAppender", category = "Core", 

elementType = "appender", printObject = true)

public final class MyCustomAppenderImpl extends AbstractAppender {

  // other code for the plugin....

}

關(guān)于配置 Appenders的 log4j2 手冊指出:


“使用特定的附加程序插件名稱或附加程序元素和包含附加程序插件名稱的類型屬性配置附加程序”


這意味著typefor appender 應該是 Appender Plugin 的Name屬性值。


在上述情況下是MyCustomAppender ( appender.identifierName.type=MyCustomAppender)


因此,為此工作的屬性文件配置應該是:


(注意:我添加了一個標準輸出(控制臺)附加程序,只是為了顯示與 OOTB 附加程序的使用相關(guān)性/相似性,以及 RootLogger 和自定義記錄器的 2 個示例用法)


# this packages attribute is important, please put comma seperated package(s) to the 

# plugin(s) you have created

packages = com.package.to.your.plugin


# Example: Declare and Define OOTB Console appender, which sends log events to stdout

appender.console.name = stdout

appender.console.type = Console


# Declare and define the custom appender like this

# Note that the "abc" in "appender.abc.type" can be anything

# and the value for "appender.abc.type" should be the same as 

# "Name" attribute value given in custom appender plugin which is "MyCustomAppender"

appender.abc.name=arbitrary_name

appender.abc.type=MyCustomAppender


rootLogger.appenderRef.stdout.ref = stdout

rootLogger.appenderRef.abc.ref = arbitrary_name    


logger.loggeridentifier.name = com.test.SomeClass

logger.loggeridentifier.appenderRef.stdout.ref = stdout

logger.loggeridentifier.appenderRef.abc.ref = arbitrary_name


# Also note that the value of appenderRef should be the same name given to your 

# appender in properties file, which in this case is "arbitrary_name" (as given above)


查看完整回答
反對 回復 2022-07-20
?
HUX布斯

TA貢獻1876條經(jīng)驗 獲得超6個贊

嘗試添加 packages 屬性。

喜歡:packages = com.myCompany


查看完整回答
反對 回復 2022-07-20
?
白豬掌柜的

TA貢獻1893條經(jīng)驗 獲得超10個贊

您沒有包含包裹信息


試試下面的配置。


name=config

appenders=console, myCustomAppender

appender.console.type=Console

appender.console.name=STDOUT

appender.console.layout.type=PatternLayout

#appender.console.layout.pattern =%d{HH:mm:ss} [%t] %c{1} [%-5level] - %msg%n

appender.console.layout.pattern=%d{dd-MM-yyyy HH:mm:ss} [%-5p] (%F:%L) - %m%n

appender.myCustomAppender = com.myCompany.logging.log4j.WindowsEventLogAppender

appender.myCustomAppender.name = WindowsEventLogAppender

appender.myCustomAppender.type = WindowsEventLogAppender

rootLogger.level=info

rootLogger.appenderRefs=stdout, myCustomAppender

rootLogger.appenderRef.stdout.ref=STDOUT

rootLogger.com.mycompany.example=INFO,STDOUT


查看完整回答
反對 回復 2022-07-20
  • 3 回答
  • 0 關(guān)注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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