本文介紹了如何將優(yōu)先級(jí)升級(jí)到log4j-2?的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我正在嘗試將log4j升級(jí)到log4j2。我嘗試升級(jí)的特定代碼行是:
log(targetClass, Priority.DEBUG_INT, message, null);
靜態(tài)字段Priority.DEBUG_INT在新的Priority中不再可用。相反,它看起來像是使用getPriority(Facility facility, org.apache.logging.log4j.Level level)靜態(tài)方法來訪問優(yōu)先級(jí)int值,可以將DEBUG指定為Level。
但是,此方法還需要指定Facility。如何知道在調(diào)用getPriority時(shí)指定哪個(gè)Facility?
舊優(yōu)先級(jí):https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Priority.html
新優(yōu)先級(jí):https://logging.apache.org/log4j/2.x/log4j-core/apidocs/org/apache/logging/log4j/core/net/Priority.html
新設(shè)施:https://logging.apache.org/log4j/log4j-2.8/log4j-core/apidocs/org/apache/logging/log4j/core/net/Facility.html
推薦答案
假設(shè)您談?wù)摰氖荓og4j1的Category.log(String, Priority, Object, Throwable),看起來這些Priority類幾乎(如果不是完全)無關(guān)。Log4j%1的Priority實(shí)際上是級(jí)別(實(shí)際上它有一個(gè)子類Level)。
因此,您必須查看Log4j 2的Logger類,以查看是否有任何帶有Level參數(shù)的方法匹配,但似乎沒有相同的替代方法(除了logMessage可能,但這似乎是相當(dāng)?shù)偷募?jí)別)。
但是,您應(yīng)該檢查是否確實(shí)需要參數(shù)實(shí)參。它看起來是為了找到記錄器方法的調(diào)用者,可能主要是為了通過擴(kuò)展Log4j 1的記錄庫來使用。除非您確實(shí)在升級(jí)這樣的庫,否則我會(huì)假設(shè)該方法被誤用了,而常規(guī)的Log4j 2logger.debug(message)也會(huì)做得一樣好。不過,如果你能提供更多的背景信息,還是會(huì)有幫助的。
這篇關(guān)于如何將優(yōu)先級(jí)升級(jí)到log4j-2?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,






