gpt4 book ai didi

java - Log4J:我可以在运行时启用/禁用类的日志记录吗?

转载 作者:太空宇宙 更新时间:2023-11-04 06:43:51 25 4
gpt4 key购买 nike

有时,仅在代码执行的特定阶段(例如出于调试目的)才需要在运行时启用/禁用日志记录。现在,我使用Java和Log4J来调试。这是我的 log4j.properties 文件:

# Define the root logger with appender file
log = /Users/Admin/Documents/log4j
log4j.rootLogger = DEBUG, stdout, file

#Logging for class Solution in package org.solver will be disabled
log4j.category.org.solver.Solution = OFF, stdout, file

# Define the file Console appender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Define the file file appender
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=${log}/log.out

# Define the layout for file appender
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.conversionPattern=%m%n

正如您所见,我同时记录文件和控制台输出。

现在,假设我有一个来自 foo 包的 X 类。如何在运行时启用和禁用日志记录? Here我找到了一个可能的答案,但如果有一个例子,我将不胜感激。

最佳答案

尝试使用类似的东西:

LogManager.getRootLogger().setLevel(Level.DEBUG);

您还可以将确切的记录器传递到 get 中。

关于java - Log4J:我可以在运行时启用/禁用类的日志记录吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24322573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com