【发布时间】:2011-04-10 21:14:26
【问题描述】:
我有一个正在运行的 GUI 应用程序,在 NetBeans 中实现。对于用户输入提供的各种功能,使用了一个 jar,它使用 log4j 进行日志记录。一切都很好,但我必须将信息从 log4j 重定向到我的 GUI 中的文本区域。我发现要从 log4j 重定向到摆动文本区域,必须扩展 AppenderSkeleton。我的问题是我不能修改 gui (例如,有一个扩展 AppenderSkeleton 的 JTextArea)所以我必须有一个附加到我的 JTextarea 的类。现在我的应用程序初始化之前 log4j。我的问题是我找不到将属性设置为 AppenderSkeleton 自定义类的方法,即对我的 gui 的 jtextarea 的引用,这样当 log4j 初始化 appender 时,它将传递对应用程序文本区域的引用。 我在 log4J 配置文件中尝试了类似: log4j.appender.myAppender.theTextArea=path.to.myFrameclass.theTextArea 跳跃 log4j 会调用我的 appender 中的 setter 和我的框架中的 getter 来设置文本区域,但它不起作用。 如何使 log4j 初始化附加程序,将信息重定向到我的应用程序? 或者有没有办法让我的应用程序初始化自定义附加程序并通知 log4j 使用它进行日志记录? 谢谢!
【问题讨论】:
标签: java swing logging log4j appender