Tag: logging

在JSF 1.2中,如何更改RenderResponsePhase的日志级别?

我在系统中得到以下消息:“ FacesMessage已被排队…… ”。 Sun的JavaServer Faces实现(1.2_07-b03-FCS)的解决方案是将其添加到web.xml: Set to true to disable the following warning message: FacesMessage(s) have been enqueued, but may not have been displayed com.ibm.ws.jsf.disableEnqueuedMessagesWarning true 但由于某种原因,该解决方案不适用于我使用Mojarra(1.2_15-b01-FCS)的实现。 该文档说我需要简单地更改RenderResponsePhase的记录器。 Faces Message(s)已被编码… 基本上,我想我要问的是我需要为RenderResponsePhase配置什么是logger类。

webstart应用程序日志记录权限被拒绝

是否可以使用java.util.Logging并登录到java webstart应用程序中的文件? 我有以下日志记录代码: Handler fh = new FileHandler(“myapp.log”); Logger.getLogger(MyApp.class.getName())addHandler操作(FH)。 并得到以下exception: java.security.AccessControlException:拒绝访问(java.util.logging.LoggingPermission控件) at java.security.AccessControlContext.checkPermission(Unknown Source) 在java.security.AccessController.checkPermission(未知来源) 在java.lang.SecurityManager.checkPermission(未知来源) 在java.util.logging.LogManager.checkAccess(未知来源) 在java.util.logging.Handler.checkAccess(未知来源) 在java.util.logging.FileHandler。(未知来源) at whoisapiclient.WhoisAPIClientApp.main(WhoisAPIClientApp.java:80) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 在java.lang.reflect.Method.invoke(未知来源) at com.sun.javaws.Launcher.executeApplication(Unknown Source) at com.sun.javaws.Launcher.executeMainClass(Unknown Source) at com.sun.javaws.Launcher.doLaunchApp(Unknown Source) 在com.sun.javaws.Launcher.run(未知来源) 在java.lang.Thread.run(未知来源)

log4j2 JDBC Appender问题:无法插入记录

我创建了一个JDBC appender并绑定了ColumnConfig和DataSourceConnectionSource。 在尝试在DB中插入记录时(Logger.debug(“Test”))。我得到的是exception。 谢谢 [6/16/14 18:44:58:647 GMT-08:00] 00000024 SystemErr R ERROR StatusLogger An exception occurred processing Appender JDBCAppender org.apache.logging.log4j.core.appender.AppenderLoggingException: Failed to insert record for log event in JDBC manager: DSRA1300E: Feature is not implemented: PreparedStatement.setNString at org.apache.logging.log4j.core.appender.db.jdbc.JDBCDatabaseManager.writeInternal(JDBCDatabaseManager.java:117) at org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager.write(AbstractDatabaseManager.java:159) at org.apache.logging.log4j.core.appender.db.AbstractDatabaseAppender.append(AbstractDatabaseAppender.java:103) at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:97) at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:425) at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:406) at org.apache.logging.log4j.core.Logger$PrivateConfig.logEvent(Logger.java:275) at org.apache.logging.log4j.core.async.AsyncLogger.actualAsyncLog(AsyncLogger.java:289) at org.apache.logging.log4j.core.async.RingBufferLogEvent.execute(RingBufferLogEvent.java:99) at org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:43) […]

记录和dependency injection

我尝试基于Java构建和应用程序。 对于dependency injection,我使用Google Guice。 现在我想出了在应用程序期间记录一些信息的问题。 我不会以方法调用等方式谈论一般日志记录。我知道AOP ,我可以像方法调用跟踪那样做。 我要找的是手动记录。 我需要一些方法来记录我的应用程序中的每个类。 所以我想到了两个选择: 通过使用Guice注入框架通过构造函数(或者setter或private …)来获取记录器,但感觉就像将记录问题真正添加到每个类并污染我的构造函数 在我想要调用日志的方法中使用全局服务定位器。 呃,但所有DI粉丝都会因为这样做而讨厌我 那么从实际的角度来看,最好的方法是什么?

Spring Boot:LoggingApplicationListener干扰Application Server日志记录

Spring Boot使用LoggingApplicationListener自动初始化基础日志记录系统。 如果我正在开发的应用程序是独立运行的,那么这是一件好事。 但是我正在开发一个Web应用程序,它将部署到WSO2 Application Server中,它提供统一的日志记录(使用log4j),具有中央日志级别管理(运行时通过Web界面),业务报告等function。 如果我“按原样”使用Spring Boot,它会完全记录所有内容。 我的第一个镜头是删除spring-boot-starter-logging并手动添加slf4j-api 。 这在某种程度上起作用,因为LoggingApplicationListener现在覆盖了WSO2提供的全局logmanager的设置(甚至导致全局appender被关闭)。 我想出的唯一“解决方案”是通过reflection删除监听器。 然后Spring Boot开始表现得完全正常(通过全局记录器记录,而不是覆盖预定义的日志级别,输出格式,appender等) 那个“解决方案”看起来像这样: @SpringBootApplication public class MyApp extends SpringBootServletInitializer { public static void main(String… args) { SpringApplication.run(MyApp.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { try { Field appField = SpringApplicationBuilder.class.getDeclaredField(“application”); appField.setAccessible(true); SpringApplication app = (SpringApplication)appField.get(builder); Field listenersField = SpringApplication.class.getDeclaredField(“listeners”); listenersField.setAccessible(true); List<ApplicationListener> listeners […]

Log4j记录到多个文件

在我的Java控制台应用程序中,我想将某些事件记录到日志文件中,而某些其他事件则记录到控制台。 这就是我现在所拥有的 log4j.rootLogger=error, stdout 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.appender.L1=org.apache.log4j.FileAppender log4j.appender.L1.layout=org.apache.log4j.PatternLayout log4j.appender.L1.layout.ConversionPattern=%-22d{dd/MMM/yyyy HH:mm:ss} – %m%n log4j.appender.L1.file=failedtoaddusers.log 在我的Java应用程序中,我使用实例化两个日志实例 private static Logger log = Logger.getLogger(ActiveDirectoryManage.class); private static Logger failedToAddUsersLogger = Logger.getLogger(“FailedToAddUsersLogging”); 我的问题是,除了日志文件failedToAddUsersLogger.warn(“xyz”) , failedToAddUsersLogger.warn(“xyz”)也会写入控制台。 我只是想让它写入日志文件而不是控制台。 我该如何做到这一点?

使用Weblogic 10.3记录JPA SQL

通过查看Open JPA网站,我发现我可以使用以下命令记录生成的SQL: 如果我尝试将上述属性添加到我的persistence.xml,我会从weblogic获得以下警告: 任何人都知道控制台中的选项是什么,或者我如何编辑config.xml以输出SQL?

为什么Log4j rootLogger没有根据事件级别过滤日志事件?

为什么我的应用程序中的Log4j rootLogger没有根据级别过滤日志事件? 在我的log4j.properties ,我有几个记录器: log4j.rootLogger=info,stdout log4j.logger.com.name.myapp=debug,myapp log4j.logger.org.castor=debug,castor log4j.logger.org.exolab.castor=debug,castor log4j.logger.org.hibernate=debug,hibernate log4j.logger.org.springframework=debug,spring 每个记录器接收并记录DEBUG及以上级别的大量日志事件,这是我期望和期望的。 然而,尽管设置为级别INFO , rootLogger也会显示所有这些事件,包括DEBUG事件,这不是我期望的,也不是我想要的。 相反,我希望它过滤DEBUG事件,但只显示INFO级别和更高级别( WARN , ERROR和FATAL )的事件,这也是我想要的。 为什么rootLogger显示所有事件?

log4j ConversionPattern时间戳以微秒为单位

我想在log4j生成的日志文件的每个条目的时间戳中添加微秒,是否可能? 我在官方文档中搜索过但没有提到毫秒以下的单位。 现在我有一个如下所示的转换模式: %d{dd/MM/yyyy HH\:mm\:ss,SSS} %-5p [%t] – %m%n 在日期转换模式( %d )中我想在毫秒值( SSS )之后添加微秒 ,有没有办法做到这一点?

Spring hibernate事务日志记录

我们如何记录spring事务机制。 我将在下面展示Spring Doc sec 10.5.2中显示的示例。如果我想记录到这个级别如何做到这一点 我正在使用Spring,Hibernate和Log4j。 [AspectJInvocationContextExposingAdvisorAutoProxyCreator] – Creating implicit proxy for bean ‘fooService’ with 0 common interceptors and 1 specific interceptors [JdkDynamicAopProxy] – Creating JDK dynamic proxy for [xyservice.DefaultFooService] [TransactionInterceptor] – Getting transaction for xyservice.FooService.insertFoo [DataSourceTransactionManager] – Creating new transaction with name [xyservice.FooService.insertFoo] [DataSourceTransactionManager] – Acquired Connection [org.apache.commons.dbcp.PoolableConnection@a53de4] for JDBC transaction [RuleBasedTransactionAttribute] – Applying […]