Tag: logging

在oc4j 10.1.3中使用log4j

我有一个在OC4J 10.1.3上运行的Web应用程序。 我正在尝试使用log4j进行一些日志记录。 消息按预期显示在我的IDE控制台中,但OC4J中的application.log没有任何内容。 有人知道我需要做些什么才能使这个工作? 这是我的log4j.properties: log4j.rootCategory=DEBUG, CON1 # CON1 is set to be ConsoleAppender sending its output to System.out log4j.appender.CON1=org.apache.log4j.ConsoleAppender log4j.appender.CON1.layout=org.apache.log4j.PatternLayout log4j.appender.CON1.layout.ConversionPattern=%p: [%l] – %m%n log4j.logger.org.apache.ojb.broker.accesslayer=DEBUG 在我的java类中我正在这样做: Logger logger = Logger.getLogger(getClass().getName()); logger.debug(“Test message.”);

SolrJetty日志记录 – 如何使自定义日志格式化程序工作?

我在Jetty 6上运行的Linux上有一个Solr服务器,我正在尝试为java日志记录设置自定义格式化程序,但我似乎无法识别我的自定义类。 我是Java的新手,所以引用它可能是我如何导出我的类或类似的问题。 注意这几乎是可以在这里找到的相同问题,但是那里的答案没有帮助,因为我有一个公共的无参数构造函数。 我的格式化程序如下所示(如此处所述): package myapp.solr; import java.text.MessageFormat; import java.util.Date; import java.util.logging.Formatter; import java.util.logging.LogRecord; public class LogFormatter extends Formatter { private static final MessageFormat fmt = new MessageFormat(“{0,date,yyyy-MM-dd HH:mm:ss} {1} [{2}] {3}\n”); public LogFormatter() { super(); } @Override public String format(LogRecord record) { Object[] args = new Object[5]; args[0] = new Date(record.getMillis()); args[1] = […]

Application Insights使用log4j在java中进行日志记录

我最近发现应用程序见解有log4j扩展 。 因此,在线示例之后,我尝试配置应用程序洞察和log4j来记录生活在azure色托管tomcat中的servlet中的项目。 嗯,这个例子似乎非常不完整,因为它根本没有提到密钥。 通过查看源代码,我看到一个示例(测试?)在log4j.xml中使用 ,但没有太多关于如何使用或调试实际记录器的说明。 有没有人有关于如何实际使用/实现log4j的ApplicationInsightsAppender的指针? 这是github上的源代码https://github.com/Microsoft/ApplicationInsights-Java

在log4j中扩展PatternLayout时出现问题

我创建了一个新类NewLinePatternLayout.java,它扩展了log4j的PatternLayout.java。 下面是我的log4j.properties。 log4j.rootLogger=INFO, R log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=${catalina.home}/logs/tomcat.log log4j.appender.R.MaxFileSize=10MB log4j.appender.R.MaxBackupIndex=10 log4j.appender.R.layout=com.myCompany.utils.NewLinePatternLayout log4j.appender.R.layout.ConversionPattern=%p %t %c – %m%n 我收到如下错误: log4j:ERROR The class “org.apache.log4j.Layout” was loaded by log4j:ERROR [WebappClassLoader delegate: false repositories: /WEB-INF/classes/ ———-> Parent Classloader: org.apache.catalina.loader.StandardClassLoader@620a3d3b ] whereas object of type log4j:ERROR “com.myCompany.utils.NewLinePatternLayout” was loaded by [org.apache.catalina.loader.StandardClassLoader@620a3d3b]. log4j:ERROR No layout set for the appender named [R]. log4j:ERROR A “com.myCompany.utils.NewLinePatternLayout” […]

在log4j2中替换BasicConfigurator

我正在进行log4j 1到log4j 2的迁移。 在AppConfigInitializer文件中,我们使用这样的东西 – BasicConfigurator.configure(consoleAppender); 我应该用什么来替换它以使它在log4j2中工作。 我也在使用向后兼容性桥接器,但是已经破坏了BasicConfigurator实现。 我想我需要使用配置文件来做这件事,但无法找到方法。

Java Logger:无法在logger.properties文件中设置日志级别

我有一个java项目,我使用maven来构建。 我在我的项目中使用java.util.logging.Logger ,并希望使用logger.properties文件(而不是命令行)进行配置。 我创建了一个logger.properties文件,如下所示: handlers=java.util.logging.FileHandler, java.util.logging.ConsoleHandler .level=WARNING java.util.logging.SimpleFormatter.format=[%4$s] %5$s %n java.util.logging.config.file=”../../results/api.log” 以下是我遇到的问题: java.util.logging.SimpleFormatter.format正在工作 。 当我在这里更改格式时,我会在项目中立即看到更改。 所以我知道至少我正在导入文件。 .level不工作 。 我已经尝试将其更改为info , finest , warning等,但在我更改之后,即使我告诉它不显示INFO,我仍然会看到所有的INFO消息。 java.util.logging.config.file无效 。 我有点期望这个不起作用,因为它是一个相对的路径。 任何人都知道我如何解析属性文件中的相对路径名? 解 我需要将.level移动到顶部,如下所示: logger.properties .level=WARNING handlers=java.util.logging.FileHandler, java.util.logging.ConsoleHandler java.util.logging.SimpleFormatter.format=[%4$s] %5$s %n 然后,为了将结果保存到“api.log”,我在我的代码中执行了此操作: RequestHelper.java import org.apache.commons.io.FilenameUtils; public class RequestHelper { private static final Logger LOGGER = Logger.getLogger( RequestHelper.class.getName() ); protected RequestHelper() […]

Java Util Logger写同步

通常在应用程序中(例如,以Web应用程序为例),我们在启动期间创建了一个记录器实例。 它甚至可以是单身,也无所谓。 重要的是整个应用程序有1个实例。 我们使用java.util.logger 现在,您有来自两个不同用户的两个请求,这两个请求会抛出exception,我们正在记录那些写入日志文件的请求。 这些对日志文件的两个不同请求中的写入是否同步? 或者我们是否需要显式同步它们因为我发现在极少数情况下我们得到的日志在tomcat日志文件中的两个请求之间都是混合的? 我并不完全关心这里只是分离两条日志消息的因果关系。

停止Apache CXF记录MultipartBody附件的二进制数据

我需要阻止CXF在MultipartBody对象中记录附件的二进制数据(由出站消息中的AbstractLoggingInterceptor抛出)。 当我添加我的LoggingInInterceptor ,我将setShowBinaryData设置为false,但这似乎不会阻止多部分消息中的二进制数据被记录。 我不确定是否需要创建自定义loggingInInterceptor,或者是否有一种配置现有拦截器的方法来截断它找到的任何二进制数据。 停止它完全记录MultipartBody响应,或截断数据都是可接受的解决方案。

Log4j2在指定的持续时间后自动翻转

我正在使用RollingFile appender。 我希望每20分钟后滚动一次日志文件,而不管日志记录事件如何。 例如,在一小时内我应该有3个日志文件,即使那个小时可能没有任何记录。 这可能使用Log4j2吗? 如果是,请提供所需的配置(在log4j2.xml中)。 以下配置似乎不起作用: %m%n

Quartz调度程序不显示Log4j消息

我正在尝试配置我的Quartz调度程序以支持日志记录。 我曾尝试做以下事情: 在我的应用程序的classes文件夹中添加了log4j.xml。 相同的代码是: log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern= %d{ABSOLUTE} %5p %c{1}:%L – %m%n log4j.rootLogger=debug, stdout 在我的调度程序类中添加了以下语句: static Logger logger = Logger.getLogger(“QuartzReport.class”); logger.info(“Info”); 但是,控制台在启动时显示以下消息: log4j:WARN No appenders could be found for logger (org.quartz.simpl.SimpleThreadPool). log4j:WARN Please initialize the log4j system properly. 请告诉我,我是否遗漏了某些东西。 此致,伊布