Java 日志记录与 Log4J [关闭]

2023-12-23

是否仍然值得将 log4j 库添加到 Java 5 项目中只是为了记录日志 假设文件有一些例外,并有一些不错的翻转设置。 或者标准的 util.logging 工具也能完成这项工作吗?

你怎么认为?


我想说,您可能对 util.logging 满足您所描述的需求感到满意。

对于一个好的决策树,看看Log4j 与 java.util.logging http://web.archive.org/web/20190320144728/http://java.sys-con.com/node/48541

问题一: 您是否预计需要 Log4j 具有而 JUL 没有的任何巧妙处理程序,例如 SMTPHandler、NTEventLogHandler 或任何非常方便的 FileHandler?

问题二: 您是否认为自己想要频繁切换日志输出的格式?您需要一种简单、灵活的方式来做到这一点吗?换句话说,你需要Log4j的PatternLayout吗?

问题三: 在生产环境中编译并部署应用程序后,您是否预计确实需要能够更改应用程序中的复杂日志记录配置?您的配置听起来是否类似于“来自此类的严重消息通过电子邮件发送给支持人员;来自类子集的严重消息被记录到我们服务器上的系统日志守护进程;来自类的另一个子集的警告消息被记录”到网络驱动器 A 上的文件;然后来自任何地方的所有消息都会记录到网络驱动器 B 上的文件中”?您是否认为自己每隔几天就会调整一次?

如果您对上述任何一个问题的回答是肯定的,请选择 Log4j。如果您对所有这些问题的答案都是肯定的,那么 JUL 就足够了,而且它已经方便地包含在 SDK 中。

也就是说,现在几乎每个项目似乎都包含了 log4j,哪怕只是因为其他一些库使用了它。

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

Java 日志记录与 Log4J [关闭] 的相关文章

  • 不支持的字段:将瞬间格式化为日期 ISO 时的年份[重复]

    这个问题在这里已经有答案了 我正在尝试将 Instant 格式化为 ldap 日期 ISO8601 但在 f format Instant now 处失败 String input 20161012235959 0Z DateTimeFor
  • 垂直 ViewPager 中的动画

    我需要垂直制作这个动画ViewPager https www youtube com watch v wuE 4jjnp3g https www youtube com watch v wuE 4jjnp3g 这是我到目前为止所尝试的 vi
  • 如何准确判断 double 是否为整数? [复制]

    这个问题在这里已经有答案了 具体来说 在 Java 中 我如何确定double是一个整数 为了澄清 我想知道如何确定 double 实际上不包含任何分数或小数 我主要关心的是浮点数的性质 我想到的方法 以及我通过谷歌找到的方法 基本上遵循以
  • 如何将本机数据库运算符 (postgres ~) 与 JPA 标准生成器一起使用?

    我使用 JPA 2 0 标准构建以下查询 简化 select n from notif n where n message b la 我正在使用 postgresql 数据库 我真的需要 运算符 而不是像 我可以使用与 CriteriaBu
  • H2数据库:如何进行加密保护,而不暴露文件加密密钥

    我们在服务器模式下使用Java H2数据库 因为我们不希望用户访问数据库文件 为了对数据库文件添加更多保护 我们计划使用 AES 加密 将 CIPHER AES 添加到数据库 URL 以防存储被盗 但是 每个用户在连接时还需要提供文件保护密
  • Java Junit 测试 HTTP POST 请求

    我需要测试以下方法而不改变方法本身 该方法向服务器发出 POST 方法 但我需要制作一个独立于服务器的测试用例 在将其重定向到本地文件之前 我测试了类似的方法 但为此我将协议指定为文件 主机名指定为 localhost 端口指定为 1 我的
  • 未注入带有 JPA2 的 Apache Ignite 2.7 IgniteRepository

    使用在 Web 上建立的 guildes 我使用 Spring Data JPA 2 应用程序制作了简单的 Spring Boot 2 仅在 2 7 版本中才向 Apache Ignite 添加了 Spring Boot JPA 2 支持
  • 使用 kryo 注册课程的策略

    我最近发现了 kryonet 库 它非常棒并且非常适合我的需求 然而 我遇到的一个问题是制定一种好的策略来注册所有可以转移的类 我知道我可以在每个对象中编写一个静态方法 该方法将返回它使用的所有类的列表 但我真的不想这样做 为了我自己的时间
  • 使用 Jena 查询维基数据

    目前 Wikidata 有一个 SPARQL 端点 https query wikidata org https query wikidata org 我想使用 Jena 3 0 1 查询此网站 我使用以下代码 但收到错误消息 端点返回的
  • 是否可以手动检查 LocateRegistry 是否存在?

    I 已经发现 https stackoverflow com a 8338852 897090一种安全的方式获得LocateRegistry 即使注册表尚不存在 Registry registry null try registry Loc
  • 避免 @Secured 注释的重复值

    我正在尝试使用以下方法来保护我的服务方法 Secured如下 public interface IUserService Secured ROLE ROLE1 ROLE ROLE2 ResponseEntity saveUser Creat
  • 在Java中如何将字节数组转换为十六进制?

    我有一个字节数组 我希望该数组的每个字节字符串转换为其相应的十六进制值 Java中有没有将字节数组转换为十六进制的函数 byte bytes 1 0 1 2 3 StringBuilder sb new StringBuilder for
  • Time.valueOf 方法返回错误值

    我使用 Time valueOf 方法将字符串 09 00 00 转换为 Time 对象 如下所示 Time valueOf LocalTime parse 09 00 00 当我调用 getTime 来显示我得到的值时 28800000
  • ActiveMQ JNDI 查找问题

    尝试使用 JNDI 运行以下 ActiveMQ http activemq apache org jndi support html http ActiveMQ 20JNDI 并且我的 jboss server node lib 文件夹中有
  • 错误膨胀类 android.support.design.widget.NavigationView [启动时崩溃]

    该应用程序应该有一个导航抽屉 可以从左侧拉出并显示各种活动 但是一旦将导航栏添加到 XML Activity homescreen 文档中 应用程序一启动就会崩溃 主屏幕 java package com t99sdevelopment c
  • Java 8 方法签名不一致

    Java 8 为我们提供了具有很长签名的新方法 如下所示 static
  • 开发者环境-如何调用/消费其他微服务

    背景 我的环境 Java Play2 MySql 我在 Play2 gt S1 S2 S3 上编写了 3 个无状态 Restful 微服务 S1 消耗来自 S2 和 S3 的数据 因此 当用户点击 S1 时 该服务会异步调用 S2 S3 合
  • 如何使用eclipse调试JSP tomcat服务?

    我想使用 Eclipse IDE 调试器来调试单独运行的 JSP Struts Tomcat Hibernate 应用程序堆栈 如何设置 java JVM 和 eclipse 以便设置断点 监视变量值并查看当前正在执行的代码 我刚刚用谷歌搜
  • 为什么不能在 if 语句中声明变量?

    以下 Java 代码无法编译 int a 0 if a 1 int b 0 if a 1 b 1 为什么 不能有任何代码路径导致程序将 1 分配给b无需先声明 我突然想到b的变量范围可能仅限于第一个if声明 但后来我不明白为什么 如果我实在
  • java Web应用程序中的日期转换

    String date1 13 03 2014 16 56 46 AEDT SimpleDateFormat sdf new SimpleDateFormat dd MM yyyy HH mm ss z sdf setTimeZone Ti

随机推荐

  • 如何在设置前一个列表框值时设置选择框或下拉列表框的值[重复]

    这个问题在这里已经有答案了 可能的重复 使用 jquery 根据第一个选择列表选项更改第二个选择列表 https stackoverflow com questions 10570904 use jquery to change secon
  • 在 EF Code First 中跟踪 SQL 查询

    我正在使用 Entity Framework Code First 并且希望能够记录 DbContext 生成的所有 SQL 查询 在 Linq to sql 中有一个 DB 日志 但我似乎在 EF 中找不到它 然后我可以将它们放入日志中或
  • 卸载使用 nuget.exe 安装的 nuget 软件包

    我在使用 nuget Visual Studio 2017 时遇到问题 想测试它是否是我们的代理服务器 我下载了 nuget exe 并将其放在 C 盘根目录下 我执行了 nuget exe install Microsoft AspNet
  • spring mvc后如何获取方法中的参数?

    我正在使用 spring mvc 当 method post 时 我无法从 url 获取参数 但是当我将方法更改为 GET 时 我可以获得所有参数 这是我的表格
  • 为什么 conda install tk 在我的 docker 容器中不起作用,即使它说已安装?

    我遇到了问题tk在我的 python 3 docker 容器中 I tried conda install tk 但它说它确实安装了 root 36602e2cd649 home simulation research overparame
  • Python:使用字典来加速元组列表的排序

    出于某种原因 我一直有 如何对这个元组列表进行排序 的问题 我之前的一个问题 按任意键对元组列表进行排序 https stackoverflow com questions 13408919 sorting list of tuples b
  • MSVC 中的链接错误 LNK2019,带有 __imp__ 前缀的未解析符号,但应该来自静态库

    我在 MSVC 中为我为 g 编写的项目遇到了链接问题 问题是这样的 我将 libssh 构建为静态库 作为我的应用程序的一部分 并在 cmake 中添加目标 add library ssh static STATIC libssh SRC
  • CAGradientLayer 显示为纯色

    我试图在视图上设置渐变背景 但下面的代码使 UIView 显示为纯黑色 如果我将白色更改为绿色 渐变将正确显示 将图层的背景颜色更改为 greenColor 会使视图显示为纯绿色 我的猜测是我正在处理某种透明度问题 但我无法解决它 CAGr
  • AttributeError:“PathDistribution”对象没有属性“name”

    我正在尝试使用运行一个简单的工作流程celery并使用this https docs celeryproject org en stable userguide canvas html文档 我正在使用链按顺序运行任务 工作流程如下 提取文件
  • 强制移动版网站为WebView

    我正在将 URL 加载到 Web 视图中以将其显示到我的应用程序中 我遇到的问题是 网站并不总是能识别出我是一部手机 为什么会这样 到底如何强制webview发送到我是手机的网站呢 目前我正在这样做 webview getSettings
  • JSON序列化类继承列表上的属性[重复]

    这个问题在这里已经有答案了 我有一个模型如下 public class TestResultModel public bool Successful get set public string ErrorMessage get set pu
  • if...!true 在 nunjucks 中进行条件渲染

    if true条件句就像魅力一样此处概述 https mozilla github io nunjucks templating html if在文档中 但如果我尝试做类似的事情 if posts length i No project p
  • Python:使用三角函数尽可能高效地估计 Pi

    我有一个作业 需要以计算有效的方式近似 Pi 这是我的策略 我使用单位圆 等腰三角形的角平分线以及 sin 的定义 我画了一张图 例如 如果我想使用六边形 6 点 6 条边 我只需要计算a 0 5 sin 2 pi 2 x 并将其乘以 2
  • 多个选项卡中的 MVC 表单验证 - 自动跳转到带有验证错误的选项卡?

    我有带有多个选项卡的选项卡条 在每个选项卡中 我都有许多文本字段供用户输入 选项卡条被表单包围 并且位于提交按钮下方 我对模型属性的验证进行了注释 使用 Jquery 验证可以很好地进行验证 但是 如果用户在某个字段中输入错误 转到另一个选
  • 参考脚本容器元素?

    我想知道是否有办法获取包含脚本的 DOM 元素的句柄 所以如果我有
  • 合并来自开发和生产数据库的果园内容

    我正在寻找以下问题的解决方案 我们前段时间开发了生产环境上的果园场地 所有站点结构 小部件 部件 图层 都是在首次发布之前创建的 现在我们要添加带有附加页面和图层的子站点 我们希望在开发环境中完成这项工作 并在发布之前对其进行测试 在最近的
  • 所有组合的 Matlab 循环

    我是 Matlab 新手 这似乎超出了我的能力范围 提前感谢您的帮助和感谢 基本上 我有一个带有列标题的多列数据集 列号可能因数据集而异 需要迭代列的所有组合 例如 A B A C B C B D 等 并运行公式 在本例中它是一个相关公式
  • DDD 基础设施服务

    我正在学习 DDD 但我对基础设施层有点迷失 据我了解 所有优秀的 DDD 应用程序 应该有 4 层 表示层 应用程序层 领域层和基础设施层 应使用存储库访问数据库 存储库接口应该位于域层和存储库实现中 位于基础设施中 参考DDD 在哪里保
  • 类类型非类型模板参数初始化不编译

    我的印象是 在新的 C 20 标准下 以下内容应该成为有效代码 struct Foo int a b template
  • Java 日志记录与 Log4J [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 是否仍然值得将 log4j 库添加到 Java 5 项目中只是为了记录日志 假设文件有一些例外 并有一些不错的翻转设置 或者标准的 util l