草庐IT

java - Log4j2 通配符记录器名称

我正在使用log4j在我的一个应用程序上做一些日志记录。我的配置中的记录器看起来像这样。基本上,我想要来self编写的代码的“信息”级消息,但我希望外部库仅在出现警告或更严重的情况时才记录。这正如我所料的那样工作,但是“org.eclipse.jetty”下有很多类有没有可能做这样的事情?也就是说,我希望整个包中的所有内容都只显示warn/error/fatal。上面的方法我都试过了,没有效果。是否有“通配符”或我可以用来为包中的所有内容设置记录器的东西? 最佳答案 对于基于属性的配置,您只需采用不带任何通配符的包名称。也应该使用X

java - 为什么 TomEE Java EE 6 获得了认证,而 TomEE 没有获得认证?

正如标题所说。我对JavaEE6认证的内部工作原理了解不多。但是,TomEE+似乎只是TomEE的超集,所以TomEE+不应该也通过JavaEE6认证吗?我们刚刚决定为我们内部开发的管理应用程序构建Tomcat(而不是使用Glassfish中的很多功能),并且我对TomEE+非常感兴趣,因为它几乎拥有我们想要的一切。仅供引用,我们最初只是查看Tomcat7,并安装Jersey和Hibernate。 最佳答案 长话短说,适用于所含功能的整套TCK测试必须通过TCK才能被标记为“已认证”。TomEE+通过了与TomEE通过相同的测试(实

Java EE 异常 : Name java:comp is not bound in this Context

我在Netbeans7.2.1中安装了JavaEE应用程序。尝试部署它(构建结束正常),我在Tomcat日志中收到错误:Causedby:javax.naming.NameNotFoundException:Namejava:compisnotboundinthisContextatorg.apache.naming.NamingContext.lookup(NamingContext.java:770)atorg.apache.naming.NamingContext.lookup(NamingContext.java:153)atjavax.naming.InitialContex

java - 如何暂时禁止项目中的包在 Java EE IDE 中编译

如何暂时禁止项目中的包在JavaEEIDE中编译?该包有一些我想暂时阻止编译的源文件。 最佳答案 如果是eclipse,试试-Projectproperties->JavaBuildPath->Source->Excluded 关于java-如何暂时禁止项目中的包在JavaEEIDE中编译,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/23822969/

java - 需要在log4j2中实现Custom Logger Wrapper

我需要一个围绕Log4j2的自定义包装器。基本要求是这样的。我的应用程序应该只在任何地方使用MyCustomLogger。而不是Log4j2记录器,所以如果将来需要,我可以轻松删除第三方库,如log4j2等依赖项。我该怎么做?? 最佳答案 Log4j2附带了一个用于生成自定义记录器包装器的工具:参见http://logging.apache.org/log4j/2.0/manual/customloglevels.html#CustomLoggers此工具旨在用于自定义日志级别,但您也可以将其用于您的目的。如果您想完全删除对log4

java - 过滤掉 Log4j2 文件中的 Hibernate 日志

我有一个log4j2.xml文件,如下所示。它正在运行,但它正在获取大量Hibernate和GWT日志文件。我怎样才能排除这些包,或者我怎样才能让我的日志文件只包含来self的包层次结构的日志记录? 最佳答案 删除您的“调试”根记录器。然后添加以下记录器,它将仅记录来自给定“some.dummy.package”的日志所以最后你会有 关于java-过滤掉Log4j2文件中的Hibernate日志,我们在StackOverflow上找到一个类似的问题: http

java - Java EE 应用程序中的 System.out.println 危害

当我开始学习Java时,有人告诉我不要在JavaEE应用程序中执行System.out.println。但是我真的不知道不这样做的原因是什么。我很清楚如果我们真的需要打印一个重要的,它应该使用日志框架记录。我真正想问的是:System.out.println是否有任何真正的危险?它会导致任何性能问题吗? 最佳答案 确实是性能问题。如果深入研究System.out的JDK源代码,您最终会在输出流上遇到一个synchronizedblock。这意味着如果您在源代码中放置足够多的println调用,整个代码库将有效地单线程运行,因为所有线

Java EE SDK 6 未安装在 Windows 7 上

我成功运行了64位JDK。但是我现在需要在Windows7机器上安装JavaEEsdk6。我从Oracle网站下载了“java_ee_sdk-6u4-windows.exe”。但是当我尝试安装它时,我收到了随附屏幕截图中附带的错误。我仔细检查了我的java_home和类路径,它们是完美的。知道如何修复它。 最佳答案 我进行了更多尝试,最后,命令在jdk路径上使用了引号。C:\Users\jsmith\Downloads>java_ee_sdk-6u4-windows.exe-j"C:\ProgramFiles\Java\jdk1.6

Java EE 7 自动计时器(EJB 计时器)不适用于 WildFly 8.1.0

我正在关注UsingtheTimerService构建简单计划执行的教程。尝试自动方法并使用WildFly8.1.0FinalsessionBean@Singleton@StartuppublicclassHelloJob{privatestaticfinalLoggerlogger=Logger.getLogger(HelloJob.class);publicHelloJob(){logger.error(">>>HelloJobCreated.");}@Schedule(second="*")publicvoidsayHello(){logger.error(">>>ServerH

java - log4j2:包括 PID

我正在使用log4j2,并同时在不同的进程(即不同的JVM)中运行相同代码的多个实例。我希望所有进程都记录到同一个文件,交错我如何配置(通过log4j2.xml)输出PID,以便在日志中区分不同的进程? 最佳答案 有一个插件ProcessIdPatternConverter在2.9版后的log4j2-core中正是这样做的。只需在模式布局中设置%pid或%processId即可记录。log4j文档:https://logging.apache.org/log4j/2.x/manual/layouts.html