Jam*_*hon 21 java logging log4j web-applications
我打算将登录实现到我目前正在处理的Web应用程序中,但我正在努力解决一些细节问题.记录Java Web应用程序的最佳方法是什么?
特别;
目前我正在使用Log4J,但我认为最佳实践将普遍应用于所有日志记录实现.
编辑:
顶部问题的一个补充.
在传统的应用程序中,我在入口点执行此操作;
DOMConfigurator.configureAndWatch("log4j.xml");
Run Code Online (Sandbox Code Playgroud)
Web应用程序的等价物是什么?
配置文件在哪里进入.war包文件? 类路径的根.
人们在哪里登录,相对或绝对路径平面文件,或数据库? 取决于需要.使用相对路径总是更好.如果您实现另一个应用程序,它将从中获取日志并使用电子邮件/短信发送它们,那么数据库就很好
Log4J日志记录是自动直接进入应用程序服务器日志文件还是您必须设置的内容?在这种情况下,我使用Tomcat,但我经常使用Jrun. 如果您使用Console appender,是的,它将被记录在您的servlet容器日志文件中.
对于Web应用程序日志记录,我应该注意哪些其他问题? 如果从不同的线程进行日志记录,则使用logback,它是线程安全的,并且它公开参数化的日志消息.
记录到DB会添加另一个故障点.我们遇到这样一种情况:prod服务器登录到数据库,有人在该数据库上运行了一个昂贵的查询,这使得它的速度变慢,以至于prod服务器变得非常非常慢.如果空间不足,则记录到文件可能会导致问题,但似乎不太可能减慢整个应用程序的速度.
我将配置放在默认包上:src/
并使用 ${catalina.home} 系统属性记录到文件:
log4j.appender.???.file=${catalina.home}/logs/system.log
| 归档时间: |
|
| 查看次数: |
19315 次 |
| 最近记录: |