我需要一个围绕Log4j2的自定义包装器。基本要求是这样的。我的应用程序应该只在任何地方使用MyCustomLogger。而不是Log4j2记录器,所以如果将来需要,我可以轻松删除第三方库,如log4j2等依赖项。我该怎么做?? 最佳答案 Log4j2附带了一个用于生成自定义记录器包装器的工具:参见http://logging.apache.org/log4j/2.0/manual/customloglevels.html#CustomLoggers此工具旨在用于自定义日志级别,但您也可以将其用于您的目的。如果您想完全删除对log4
我希望从同一类中生成的特定消息被单独记录。那么,如何在同一类中创建两种不同类型的记录器。目前,属性文件看起来像log4j.rootCategory=DEBUG,O#Stdoutlog4j.appender.O=org.apache.log4j.ConsoleAppenderlog4j.appender.O.layout=org.apache.log4j.PatternLayoutlog4j.appender.O.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x-%C.%M(%F:%L)-%m%n#Filelog4j.appende
我从java开始,我尝试记录一些东西。privatestaticfinalLogger_logger=Logger.getLogger("my");Stringcar="bmw";Stringdog="dog";_logger.info(car+"text"+dog);//onthislineNetbeans..在这条线上,Netbeans向我展示了黄色灯泡并说:记录器中字符串连接的使用效率低下所以我点击“将字符串连接转换为消息模板”并将代码更改为:_logger.log(Level.INFO,"[{0}]v{1}enabled",newObject[]{car,dog});这会导致问
我正在使用Tomcat部署javawebapp。简而言之,我得到了一个很长的堆栈跟踪:GRAVE:Achildcontainerfailedduringstartjava.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException:Failedtostartcomponent[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/new-webapp]][...]Causedby:java.lang.NoClassDefF
使用EclipseCheckstyle插件我看到这个错误:Name'logger'mustmatchpattern'^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$'.我通过更改解决了这个错误:privatestaticfinalLoggerlogger=Logger.getLogger(someClass.class);到privatestaticfinalLoggerLOGGER=Logger.getLogger(someClass.class);为什么这是一个checkstyle警告? 最佳答案 因为该字段被标记为f
我刚刚开始学习Java中的Logger;但是,我不明白它是如何工作的。我在类声明之后有这段代码:privatestaticfinalLoggerLOGGER=Logger.getLogger(MyClass.class.getName());然后在我的方法中我这样使用它(示例):LOGGER.log(Level.FINE,"Testing");LOGGER.info("Moretesting...");...}catch(Exceptione){LOGGER.log(Level.SEVERE,e.toString(),e);}但是没有任何内容打印到控制台。它是保存在某个文件中还是我只是
我正在尝试添加对信号的支持(尤其是对于Ctrl+C)。我的工具是用Java编写的,我想在Ctrl+C被捕获时执行清理。我的主文件是应用程序,有以下和平代码:if(ArgDefinitions.getInstance().hasOption(ArgNames.EXECUTE)){performShutdownHooks();preformRun();}应用程序解析用户的选项并运行正确的方法。因此,当用户使用execute选项并单击Ctrl+C时,我希望程序停止并清理该区域。我添加了performShutdownHooks方法来处理信号,它看起来如下:privatevoidperformS
我有一个每小时运行一次的Spring@Scheduled作业,但我发现它实际上每小时运行3次。这是显示此问题的日志输出:2013-05-0612:00:27,656[pool-2-thread-1]INFOsrc.jobs.NotifyUsersWhenVideoAvailableJob-EmailssentfromNotifyUsersWhenVideoAvailableJob:12013-05-0612:00:27,750[pool-1-thread-1]INFOsrc.jobs.NotifyUsersWhenVideoAvailableJob-EmailssentfromNoti
我有2份不同的工作(实际上更多,但为简单起见假设有2份)。每个作业都可以与另一个作业并行运行,但同一个作业的每个实例都应该按顺序运行(否则实例会蚕食彼此的资源)。基本上,我希望这些作业中的每一个都有自己的作业实例队列。我想我可以使用两个不同的线程池作业启动器(每个都有1个线程)并将作业启动器与每个作业相关联。有没有一种方法可以在从SpringBatchAdminWebUI启Action业时执行此操作? 最佳答案 有一种方法可以为特定作业指定特定作业启动器,但我发现唯一的方法是使用JobStep。如果您有一个名为“specific
我尝试了以下记录器Java日志记录APILog4jslf4j所有这些都需要类级别的LOGGER声明,如下所示privatefinalstaticjava.util.logging.Logger.LoggerLOGGER=java.util.logging.Logger.Logger.getLogger(MyClass.class.getName());privatefinalLoggerslf4jLogger=LoggerFactory.getLogger(SLF4JHello.class);privatefinalstaticLoggerlog4jLogger=Logger.getL