问题标签 [apache-commons-logging]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 log4j 和 commons 日志记录的多个不相关的日志文件
我希望我的应用程序有 4 个日志文件。其中三个日志文件是典型的 log4j 信息、警告和错误日志。第 4 个日志文件完全不相关,用于记录一些数据。
我的 log4j.properties 文件如下所示:
我的 Java 代码如下所示:
当我运行它时,“Hello”文本被正确写入 info.log 文件。但是永远不会创建或写入 data.log 文件。
为什么 DATA_LOG.info("Some data") 行不写入 data.log 文件,我需要进行哪些代码更改才能发生这种情况?
java - 如何禁用第三方库中的 Apache Commons / Log4J 日志记录?
是否有 Apache Commons / Log4J 日志记录 API 方法可用于完全禁用所有日志记录,即使对于第三方库中的记录器也是如此?
背景:我想在 GlassFish v3 Web 应用程序中使用 java.util.logging。但是,此 Web 应用程序中的第三方库使用 Log4J 日志记录和 Apache Commons Logging。为了节省资源,应最小化或关闭此日志记录。
java - 如何使 logging.properties 和 commons-logging.properties 属性文件工作?
我的默认包中有两个属性文件(我使用的是 NetBeans):
具有属性的 commons-logging.properties:
和 logging.properties:
我在输出中收到 INFO 级别的消息。我做错了什么?我也没有找到任何关于JDK配置的信息,只是上面的例子。
java - 调整 apache commons 日志的日志级别?
我有一个简单的控制台应用程序,它使用 apache 的 PDFBox 库,而后者又使用公共日志记录。我在控制台中收到很多垃圾消息,我想禁止这些消息:
2011 年 2 月 15 日下午 3:56:40 org.apache.pdfbox.util.PDFStreamEngine processOperator INFO:不支持/禁用操作:EI
在我的代码中,我尝试重置日志级别无济于事:
尽管进行了这些设置,但消息仍显示在控制台上。从 Commons 日志中检索日志对象也无济于事,因为它似乎没有设置级别的方法。
有没有办法以编程方式抑制这些消息?还是我需要添加配置文件?
java - 根据线程登录到不同的文件
我有一个带有多个“控制器”的应用程序,我希望将每个日志记录到自己的文件中。这对于他们自己的代码来说很容易,但我也在使用一些使用公共日志记录的库代码。我能否以某种方式让该代码也记录到特定于控制器的文件中?
我在想我可以通过线程以某种方式做到这一点:
目前,我也将 commons-logging 用于我自己的日志记录,并将 log4j 作为后端。但如果需要,我可以更改它,或者使用混合(在公共日志框架中是可能的)。
我可以做到这一点的一种方法是编写我自己的公共日志记录实现(可能是 log4j 的包装器),但是有现有的解决方案吗?
java - 什么是日志记录,以及如何使用 Apache Commons 日志记录?
Web 应用程序服务器希望记录哪些信息,为什么?
据我了解
是一个接口,抽象了其他Logging类提供的功能,同样适用于接口LogFactory。
我试图理解的代码有 -
String someString 如何用于识别要生成的 LogFactory?如何查看正在使用的 Log 和 LogFactory 类的实现?
java - 使用 Commons-logging 设置日志的写入方式
我可以设置使用 Commons-logging 而不是 log4j 写入日志的方式吗?
由于规范,我真的很想使用 commin-logging。
java - File.delete() 返回 false
我已经从我的 java 编程中创建了一个文件,并且正在使用 Apache Commons Logging API 记录一些数据,特别是 Log4j 实现。
日志记录完成后,我将对 Log 类的引用设置为 null。当我现在尝试删除我一直在记录的文件时,File.delete() 返回 false。
在调试期间(在调用 File.delete() 之前)从 Windows 资源管理器中删除文件,我收到通知“无法删除:正在被另一个程序使用”。
我的代码中的文件没有打开的依赖项(所有流都已关闭)。唯一可以访问该文件的对象是 Log 对象,我在调用 File.delete() 之前将其设置为 null
无论如何我可以看到哪个特定对象持有对文件资源的引用?除了将其设置为 null 之外,还有其他方法可以强制 Log 对象释放资源吗?我可以强制删除文件吗?
apache - 使用 Tomcat 获取请求并创建 HTTP 响应
我目前正在尝试为我的应用程序使用嵌入式 Tomcat,并尝试对其进行设置以获取 http 请求的 URL。
一些背景:
我在这里使用与帖子的第一个答案相同的代码:Howto embed Tomcat 6?
我所做的唯一改变是:
另外,我正在查看:http: //tomcat.apache.org/tomcat-5.5-doc/catalina/docs/api/org/apache/catalina/startup/Embedded.html
我找不到 server.xml 和 tomcat-users.xml,所以我创建了一个 tomcat-users.xml,因为我遇到了一个异常:内存数据库文件 /home/xyz/tomcat/conf/tomcat-users.xml无法读取。
代码使用 container.setRealm(new MemoryRealm()); 从这里看来:http: //tomcat.apache.org/tomcat-4.1-doc/catalina/funcspecs/fs-memory-realm.html我应该有一个 server.xml 文件,并且应该已经默认创建了一个.
1] 我需要创建一个 server.xml,其中的默认值应该是什么?我已经从这里放置了一个默认文件:http ://www.akadia.com/download/soug/tomcat/html/tomcat_server_xml.html ,但只是想知道正确的做法是什么?
2]当我访问http://localhost:8089/mywebapp/index.html时,我得到的只是请求的资源()不可用,尽管我在代码中的“webappDir”有一个 index.html 页面
3]我对嵌入式tomcat唯一需要的是拦截,以便在我的代码中获取传递给tomcat的URL。然后我可以解析 URL [做我的事情],然后创建一个 http 有效负载并发回一个 http 响应。
我会很感激任何指示,尤其是对于 3] ?
谢谢!