Tag: log4j

将System.out和System.err重定向到slf4j

我需要将System.out / err.println输出重定向到slf4j。 我知道这不是正确记录的方法,但有一个外部库,它记录到System.out

使用log4j进行条件记录

我正在使用的Web应用程序偶尔会为某些用户开发数据完整性问题。 我想打开跟踪级别日志记录,但由于我们每秒处理100个请求跟踪日志记录,因此每个请求都是不可能的。 有没有办法让log4j能够有条件地记录? 换句话说,我希望只有在特定用户发出请求时才能获取跟踪日志。 由于我事先不知道哪些用户会受到影响,我不能简单地暂时硬编码用户名。 编辑: 我想我需要更清楚一些。 我可以轻松地为日志语句添加条件。 例如 Logger logger = Logger.getLogger(“foo”); String usernameFilter = “piglet”; String username = request.getParameter(“username”); logger.setLevel(usernameFilter.equals(username) ? Level.TRACE : Level.INFO); if (logger.isTraceEnabled()) { logger.trace(“blah blah blah”); } 困难在于动态地改变设置日志级别的条件。 换句话说,在上面的示例中,我如何设置usernameFilter的值,而不是硬编码。

初始化时Log4j警告?

我正在尝试了解log4j所以我只是尝试做一些非常简单的事情; Logger logger = Logger.getLogger(“ClientApplicationLog”); logger.info(“Logger Test”); 但是在我得到这个之后; log4j:WARN No appenders could be found for logger (ClientApplicationLog). log4j:WARN Please initialize the log4j system properly. 你知道我哪里错了吗? 谢谢你们

Websphere所有日志都将转到SystemOut.log

我在我的应用程序中使用Log4j并有一些调试和错误的appender。 我在tomcat上测试了这个,工作正常。 生成各自文件中的所有日志。 但是当我在WAS6.1上部署代码时,所有日志都只在SystemOut.log中生成。 请帮忙!