我有两个记录器:
如果我使用getlogger("test1")
,它将使用test1,是吗?
使用getlogger(typeof(Program))
时,是否会使用root?
答案 0 :(得分:0)
使用的记录器在log4j.properties/log4j.xml中定义,并且基于包的名称。
getLogger(name)用于记录当前类的名称。
如果输入“test1”作为参数,则调用的log4j日志行将包含“test1”。
答案 1 :(得分:0)
执行getLogger("test1")
时,它将使用名为test1的记录器。
使用getLogger(class)
时,它将检索使用类名命名的记录器。
如果您尝试获取root logger,请改用getRootLogger()
。
默认情况下,您的类应使用root,具体取决于您的配置。见https://logging.apache.org/log4j/1.2/manual.html
“作为旁注,请注意,在log4j中,子记录器仅链接到它们现有的祖先。特别是,名为com.foo.Bar的记录器直接链接到根记录器,从而绕过未使用的com或com .foo记录器。这显着提高了性能并减少了log4j的内存占用。“ - 来自手册