- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我们的项目使用 System.out.println() 或 System.err.println() 来输出调试信息。现在我们想使用 log4j 将这些输出定向到日志文件,而不仅仅是控制台。为避免影响或风险,我们不想将所有“System.out.println()”替换为“logger.debug”,而只是想编写一些代码来使这些输出重定向到 log4j 日志文件,而不是每个类中的代码更改仍然使用 System.out.println()(我们知道这是不好的做法,但我们目前不想进行全局搜索和替换)。是否可以?谢谢。
最佳答案
我想这是可能的,尽管这绝对是个坏主意。您应该硬着头皮替换所有 System.out.printXXx()
和 System.err.printXXx()
调用。
(您不必在一个大的更改中执行此操作,也不必使用自动搜索/替换来执行此操作……如果这些事情让您感到不舒服。)
您可以通过使用 System.setOut
和 System.setErr
将它们指向 log4j 日志文件来更改这些流的去向。然而:
一个更复杂的替代方法是创建特殊的 OutputStream 对象来拦截输出并将其转换为对 log4j 记录器的调用。但这也会有问题:
out
,一个用于 err
) 关于java - 想要使 "System.out.println()"将消息打印到 log4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6566960/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!