logger.debug()
为什么使用而不是一个好习惯System.out.println()
?
我知道 log4j 允许您控制要打印的内容(DEBUG
、、、FATAL
等INFO
),但除此之外,还有其他好处吗?
问问题
480 次
3 回答
5
ALogger
为您的日志记录增加了更多价值。
- 日志级别:在生产环境中,您不关心某些级别(例如:调试信息),只关心严重错误和系统崩溃。
- 日志过滤:过滤允许记录的组件。
- 日志格式:控制日志中包含的信息及其格式。您可以设置默认值(如时间和线程 ID)或为每个语句添加更具体的值。
- 日志目的地:您可以将记录器设置为写入文件、电子邮件、数据库等。
- 保存和归档日志的策略:让记录器管理日志,保留一些历史记录,删除旧的
此外,记录器通常是同步的,因此您的打印语句不会相互覆盖。你不能用System.out
.
您可以使用 实现所有这些System.out
,但它会非常复杂和乏味。
于 2013-09-05T14:31:30.890 回答
0
如果您的代码曾经在 Web 服务或系统服务中使用过,usingdebug
语句将确保它们出现在服务日志中。如果不是这样,您就有可能将它们打印到隐藏的控制台窗口并丢失。
于 2013-09-05T14:31:47.683 回答
0
与普通标准输出相比,专业记录器提供了许多好处:
- 日志的逻辑分离,至少在两个正交区域:子系统和重要性
- 灵活性 - 有许多预定义的方式来输出和存储日志数据,如果你真的想要,你可以自己滚动
- 可配置性 - 您可以精确控制记录的内容和位置,所有这些都在实际使用记录的代码之外,使其简单且不显眼
- 格式化 - 您不需要手动附加所有的簿记信息,例如类名、时间等。Logger 以完全可配置的方式为您完成这些,允许您编写简单、清晰的日志记录代码并保留所有好处,如过滤和精确信息。
- 速度 - 记录器经过优化,不会引入太多开销
于 2013-09-05T14:34:45.250 回答