如何在运行时更改外部类日志记录级别后刷新 log4j

2024-01-24

我有一些想要禁用的警告。他们来自

org.eclipse.lyo.oslc4j.provider.jena.JenaModelHelper

班级。所以我使用 log4j 并在运行时调用

Logger.getLogger("org.eclipse.lyo.oslc4j.provider.jena.JenaModelHelper").setLevel(Level.OFF);

但什么也没发生。

为此,我调试了有问题的代码,前 3 次显示警告,但在第 4 次时,级别发生了更改。 我在请求时(在构造函数中)更改了日志级别,因此我认为当考虑到运行时应用的规则时,log4j 中有一些刷新机制。

有没有办法立即触发这种情况?

编辑: 警告消息是:

WARNING: Property http://localhost:8080/dwa/rm/urn:rational::1-55422447386d3378-M-00000200/types/attrDef-7 could not be parsed as datatype http://www.w3.org/2001/XMLSchema#dateTime
com.hp.hpl.jena.datatypes.DatatypeFormatException: Lexical form '2015-06-10' is not a legal instance of Datatype[http://www.w3.org/2001/XMLSchema#dateTime -> class com.hp.hpl.jena.datatypes.xsd.XSDDateTime] Lexical form '2015-06-10' is not a legal instance of Datatype[http://www.w3.org/2001/XMLSchema#dateTime -> class com.hp.hpl.jena.datatypes.xsd.XSDDateTime] during parse -org.apache.xerces.impl.dv.InvalidDatatypeValueException: cvc-datatype-valid.1.2.1: '2015-06-10' is not a valid value for 'dateTime'.
    at com.hp.hpl.jena.graph.impl.LiteralLabelImpl.getValue(LiteralLabelImpl.java:339)
    at com.hp.hpl.jena.graph.Node_Literal.getLiteralValue(Node_Literal.java:39)
    at com.hp.hpl.jena.rdf.model.impl.LiteralImpl.getValue(LiteralImpl.java:98)

您可以在配置文件(log4j.properties)中禁用日志记录,因此这将在启动时设置:

log4j.logger.org.eclipse.lyo.oslc4j.provider.jena.JenaModelHelper=错误

您发布的警告看起来很像 Java Util Logging 消息,这些消息不会由 Log4J 控制,因为它是一个不同的框架。您可以在虚拟机“logging.properties”文件中禁用该消息:

org.eclipse.lyo.oslc4j.provider.jena.JenaModelHelper.level=SEVERE

或者您可以添加SLF4J http://www.slf4j.org/legacy.html到您的项目以将遗留框架消息重定向到 Log4J。要做到这一点,把slf4j-api.jar http://mvnrepository.com/artifact/org.slf4j/slf4j-api, jcl-over-slf4j.jar http://mvnrepository.com/artifact/org.slf4j/jcl-over-slf4j, 七月至 slf4j.jar http://mvnrepository.com/artifact/org.slf4j/jul-to-slf4j and slf4j-log4j12.jar http://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12在你的类路径中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在运行时更改外部类日志记录级别后刷新 log4j 的相关文章

随机推荐

  • 与多个项目和开发人员签署程序集的最佳实践

    我正在寻找在拥有 30 多个开发人员 20 多个解决方案和 60 多个项目的组织中应用签名程序集的建议和最佳实践 我们使用 Visual Studio Team System 2008 和 TFS 虽然创建密钥和签署程序集是一个非常简单且直
  • SQL Server 2000 实时数据镜像

    我目前正在使用 2 个 sql 2000 服务器 其中一个可以查询 但不能添加任何数据库 这导致第二个服务器有很多查询 这些查询使用第一个服务器作为链接服务器 我想在查询实时数据的同时提高性能 是否可以将实时数据镜像到第二台服务器 这样查询
  • AWS ACM SSL 协议错误

    我正在使用 AWS EC2 实例 亚马逊 Linux 弹性 IP 尝试通过 ACM 设置 SSL 证书已验证 负载均衡器正在通过健康检查 侦听 prot 443 转发到端口 80 最初 在测试 https 时 我收到连接被拒绝的消息 这让我
  • 为什么需要 virtualenv?

    我是 Python 初学者 I read virtualenvPython项目开发时首选 我根本无法理解这一点 为什么是virtualenv首选 虚拟环境 http virtualenv readthedocs org en latest
  • 如何添加迄今为止的天数(作为列的值)?

    我在 Spark 中向日期格式列添加天数 数字 时遇到问题 我知道有一个功能date add它有两个参数 日期列和整数 date add date startdate tinyint smallint int days 我想使用整数类型的列
  • Siri 快捷方式 iOS 13 错误 INUIAddVoiceShortcutButton

    在我的项目中 我使用 Siri 快捷方式INUIAddVoiceShortcutButton 我使用这种方法来创建按钮并关联NSUserActivity let button INUIAddVoiceShortcutButton style
  • 如何在不使用 tabindex 的情况下进行 Tab 键切换时跳过项目?

    在 javascript onfocus 处理程序中 是否有一种好方法可以将焦点转移到 Tab 键顺序中的下一个项目 而无需手动输入下一个项目的 ID 我在 Django jQuery 中构建了一个 HTML 日期选择器 这是一个行编辑 然
  • 发送不带接受/拒绝选项的 Outlook 会议请求

    我正在使用我的 NET 程序发送 Outlook 会议请求 使用以下内容作为源 在没有 Outlook 的情况下发送 Outlook 会议请求 https stackoverflow com questions 461889 sending
  • 如何制作 GUI?

    我为 Nintendo DS 制作了 GUI 系统的许多不同的独立部分 例如按钮 文本框和选择框 但我需要一种将这些类包含在一个 Gui 类中的方法 以便我可以将所有内容都绘制到屏幕上一次 并立即检查所有按钮以检查是否有任何按钮被按下 我的
  • 是否可以将批量 FFT 与 CUDA 的 cuFFT 库和 cufftPlanMany 重叠?

    我正在尝试并行化称为 Chromaprint 的声学指纹识别库的 FFT 变换 它的工作原理是 将原始音频分割成许多重叠的帧并对它们应用傅立叶变换 Chromaprint 使用 4096 的帧大小 2 3 重叠 例如 第一帧由元素 0 40
  • 可以用 Electron 进行复制/粘贴吗?

    我正在使用 Electron Nightmare js 进行单元测试 我需要复制一个string到 clibboard gt 聚焦某个元素 gt 粘贴内容 然后测试是关于我的 JavaScript 是否正常处理 我在电子文档中读到剪贴板 A
  • R 中使用 mapply 对子集参数进行非标准评估

    我无法使用subset的论证xtabs or aggregate 或我测试过的任何功能 包括ftable and lm with mapply 以下调用失败并显示subset争论 但它们的工作没有 mapply FUN xtabs form
  • 将 pyQt UI 转换为 python

    有没有一种方法可以将使用 qtDesigner 形成的 ui 转换为 python 版本来使用 而无需额外的文件 我在这个 UI 中使用 Maya 并且将此 UI 文件转换为可读的 Python 版本来实现 这真的很棒 您可以使用pyuic
  • 获取每组最新的n条记录

    假设我有下表 id coulmn id value date 1 10 a 2016 04 01 1 11 b 2015 10 02 1 12 a 2016 07 03 1 13 a 2015 11 11 2 11 c 2016 01 10
  • java.lang.RuntimeException:无法实例化服务

    我正在尝试编写一个监视短信的应用程序 我想从我的主 Activity 类启动一个服务 但该服务由于某种原因没有启动 我认为我在清单文件中声明服务的方式或从活动中调用它的方式可能存在问题 这是我的活动代码的一部分 public class T
  • 如何从 Log4j Logger / Appender 中排除单个类?

    我有一个包 com example 这个包有五个类 我想将其中四个类记录到一个文件中 但排除第五个类 我可以写四个记录器 例如logger name com example Class1 并将相同的附加程序添加到所有四个记录器 有没有更简单
  • 如何对非托管 C++ Dll 进行强命名?

    我正在开发一个 C 应用程序 它使用EasyHook 库 http easyhook codeplex com 用于 DLL 注入 EasyHook 要求任何使用它的应用程序都必须是强命名的 为了对应用程序进行强命名 我需要确保我使用的所有
  • 立即调用函数表达式 (IIFE) 相对于普通函数的优势

    我对 javascript 很陌生 我读过模块模式 https addyosmani com resources essentialjsdesignpatterns book modulepatternjavascript提供某种名称空间并
  • keras 模型子类化示例

    从 Keras 2 2 0 开始 发布了模型定义的第 3 个 API 模型子类化 根据常见问题解答 然而 在子类模型中 模型的拓扑定义为 Python 代码 而不是静态的层图 这意味着 无法检查或序列化模型的拓扑 结果 以下方法和属性不可用
  • 如何在运行时更改外部类日志记录级别后刷新 log4j

    我有一些想要禁用的警告 他们来自 org eclipse lyo oslc4j provider jena JenaModelHelper 班级 所以我使用 log4j 并在运行时调用 Logger getLogger org eclips