我的應用使用了很多庫,我使用java.util.logging
進行日誌記錄。我希望能夠爲每個庫設置不同的日誌記錄級別,例如:java.util.logging:如何通過記錄器包(或前綴)設置級別?
org.datanucleus.*.level = WARNING
com.google.apphosting.*.level = WARNING
com.myapp.*.level = FINE
是可能的嗎?
我的應用使用了很多庫,我使用java.util.logging
進行日誌記錄。我希望能夠爲每個庫設置不同的日誌記錄級別,例如:java.util.logging:如何通過記錄器包(或前綴)設置級別?
org.datanucleus.*.level = WARNING
com.google.apphosting.*.level = WARNING
com.myapp.*.level = FINE
是可能的嗎?
這本來是很好,只能用logging.properties
控制日誌:
org = FINE
com = SEVERE
不幸的是,必須實際上已經創建相應的日誌。改變你的conf文件不會爲你工作。添加記錄儀自己也將努力:
在您的應用程序嵌套記錄器的工作方式相同:
# perhaps in the main entry point for your application?
private static final Logger APP_ROOT_LOGGER = Logger.getLogger("com.myapp");
# in each package or class you want to have separately controlled loggers
private static final Logger LOG = Logger.getLogger(HelloWorldApp.class.getName());
# in logging.properties
com.myapp.level = FINE # sufficient to make all your loggers log as FINE
com.myapp.HelloWorldApp.level = SEVERE # turn off msgs from that particularly chatty app
你不應該使用「*」。 樣本logging.properties可能是諸如:
handlers=java.util.logging.ConsoleHandler
.level=ALL
java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
org.datanucleus.level=WARNING
org.datanucleus.handler=java.util.logging.ConsoleHandler
com.myapp.level=FINE
com.myapp.handler=java.util.logging.ConsoleHandler
如果所有的「組織」層面,應記錄爲警告,然後
org.level=WARNING
org.handler=java.util.logging.ConsoleHandler
我能得到它的工作是這樣的:
handlers= java.util.logging.ConsoleHandler
.level= INFO
java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
com.myapp.level = ALL
com.myapp.handler=java.util.logging.ConsoleHandler