Tag: log4j

Spring JDBC没有使用log4j记录SQL

我正在研究弹簧可能切换到弹簧组。 我认为很酷的一件事是spring jdbc能够记录所有已执行的sql。 所以我放入log4j,设置一个log4j.properties文件。 而且没有sql。 这是log4j.properties文件: log4j.appender.stdout=org.apache.log4j.ConsoleAppe nder log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.Patt ernLayout log4j.appender.stdout.layout.ConversionPattern=%d{ ABSOLUTE} %5p %c{1}:%L – %m%n log4j.rootLogger=debug, stdout log4j.category.org.springframework.jdbc.core=DEBUG 这里是一些非常简单的插入sql的输出,通过spring jdbc: http : //pastie.org/713189

log4j.properties没有从jar中获取

我在服务器的类路径中有一个jar,它包含jar根目录下的log4j.properties文件,用于记录代码。 当jar中的代码运行时,代码的日志记录不会发生。 当我使用java -Dlog4j.debug选项分析问题时,我知道log4j正在加载axis-ant.jar的log4j.properties文件(这也在我的类路径中)并使用它而不是我的jar的属性文件。 当我随后从类路径中删除了axis-ant.jar时,我立即挑选了jars log4j.properties文件并记录了我的代码。 有人可以解释为什么我的log4j.properties没有被加载而axis-ant.jar存在? 令人惊讶的是,类路径中存在的带有axis-ant.jar的jar正在另一台服务器上成功运行并正确运行..服务器都安装了相同的java 5版本和相同版本的log4j jar

将Log4j输出写入HDFS

有没有人试图将log4j日志文件直接写入 Hadoop分布式文件系统 ? 如果是,请回复如何实现这一目标。 我想我必须为它创建一个Appender。 这是这样的吗? 我的必要性是以特定的间隔将日志写入文件,并在稍后阶段查询该数据。

如何用log4j2只记录一个级别?

我在我的应用程序中使用log4j2。 我想要的是一切都要去’调试’去控制台,一切都要去’info’去myapp.log,只有’info’去’myapp-audit.log’。 原因是,INFO主要包括对数据的成功修改(例如“用户创建”,“用户更新”,“用户删除”等)。 如果是有效的数据修改审计日志。 但我无法弄明白该怎么做。 如何才能获得“info”以登录“myapp-audit.log”? 这是我目前的配置……

在log4j中配置SMTPAppender的正确方法是什么?

我正在尝试配置log4j以使用SMTPAppender但我不断收到中继访问被拒绝的错误。 我在笔记本电脑上执行代码时直接从我的共享托管环境中得到此错误。 这是相关的配置: #CONFIGURE SMTP log4j.appender.email=org.apache.log4j.net.SMTPAppender log4j.appender.email.SMTPHost=mydomain.com log4j.appender.email.SMTPUsername=myuser log4j.appender.email.SMTPPassword=mypw log4j.appender.email.From=myuser@mydomain.com log4j.appender.email.BufferSize=1 log4j.appender.email.EvaluatorClass=TriggerLogEvent log4j.appender.email.layout=org.apache.log4j.PatternLayout log4j.appender.email.layout.ConversionPattern=%m 如果我切换到log4j.appender.email.SMTPHost=mail.mydomain.com而不是我收到身份validation错误。 如果有人使用DreamHost电子邮件帐户设置了log4j SMTPAppender我的主机是在DreamHost上获得奖励积分。

使用log4j每天创建新的日志文件

我想在我的java项目中使用Log4j,我应该在配置文件中提供哪些配置,每天晚上12点生成新文件,文件名应该生成 – 输出日志-MerProjectName-HostName-2013-Dec-10。 txt名称)。 我的配置文件是这样的 – log4j.appender.FILE = org.apache.log4j.DailyRollingFileAppender log4j.appender.FILE.File = ${log}/log.out log4j.appender.FILE.DatePattern = ‘.’ yyyy-MM-dd-a 它每天都在创建新文件,但它会在文件名后附加日期。 请帮帮我。 提前致谢。

Log4j:在运行时创建/修改appender,重新创建日志文件而不附加

我想为特定方法调用MyMethod()创建和启用appender,其日志输出应该转到“logFilePath”中的文件。 我不想在xml配置文件中包含这个appender,所以我想在运行时创建它。 首先,我尝试在运行时修改记录器属性,然后调用activateOptions,例如。 将level设置为DEBUG并在finally块中将其设置为Off,以便仅在方法使用时记录输出。 那没用。 我的问题是,appender每次都会重新创建一个文件,并且不会附加到同一个文件中。 这是因为setAppend是真的。 我对log4j不太熟悉,所以请随意提出另一种方法。 以下是解释我正在尝试的示例代码。 private static FileAppender createNewAppender(String logFilePath) { FileAppender appender = new FileAppender(); appender.setName(“MyFileAppender”); appender.setLayout(new PatternLayout(“%d %-5p [%c{1}] %m%n”)); appender.setFile(logFilePath); appender.setAppend(true); appender.setThreshold(Level.INFO); appender.activateOptions(); Logger.getRootLogger().addAppender(appender); return appender; } private static void removeAppender() { Logger.getRootLogger().removeAppender(fileAppender) ; // (“MyFileAppender”); } 我用以下方式调用上面的方法: private static FileAppender fileAppender = null; private static void myMethod(String […]

log4j的示例xml配置,有一个’main’java应用程序,想要写入文件

是否有任何示例log4j配置文件(XML)。 我有一个java主应用程序。 我希望log4j输出到控制台并写入文件。 任何这方面的例子将不胜感激。 如果重要的话,我正在使用netbeans。

如何从Log4j Logger / Appender中排除单个类?

我有一个包“com.example”。 这个包有五个类。 我想将其中四个类记录到一个文件中,但排除第五个类。 我可以编写四个记录器,例如logger name =“com.example.Class1”,并将相同的appender添加到所有四个记录器。 有没有更简单的方法(让我们认为我有100个而不是5个class级)? 还有其他一些像这样的问题。 但其他人只想排除一个类来记录这个类。 这可以使用addivity标志来解决。 但我认为可加性标志在这里不起作用,因为我不想记录第五类,而是所有其他类?! 希望有人可以帮助我吗?

如何正确使用CipherOutputStream加密和解密用log4j创建的日志(RollingFileAppender)

我在加密/解密log4j的RollingFileAppender生成的日志文件时遇到问题。 对于加密我试图扩展RollingFileAppender,只需将其称为EncryptedRollingFileAppender。 我重写了这个方法 setFile(String fileName, boolean append, boolean bufferedIO, int bufferSize) 基本上我使用CipherOutputStream和Base64OutputStream来加密和编码写入输出流的所有内容。 这是代码的一部分: … setImmediateFlush(true); FileOutputStream ostream = null; CipherOutputStream cstream = null; Base64OutputStream b64stream = null; try { byte[] keyBytes = “1234123412341234”.getBytes(); //example final byte[] ivBytes = new byte[] { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, […]