java - 如何使用抛出的参数进行记录?

标签 java logging

使用java.util.logging.Logger,如何使用参数和抛出的日志记录?

final Object[] params;
final Throwable thrown;

我找不到任何带有 log(Level, String, Object[], Throwable) 的方法。

我应该使用 log(Level, String.format(...), Throwable) 还是 log(Level, Throwable, () -> String.format(...) )

最佳答案

无法将StringObject[]都放入java.util.logging.Logger

我会将 String[] 转换为 String 并使用:

public void log(Level level,
                String msg,
                Throwable thrown)

您还可以创建自己的 log 方法,该方法指向 java.util.logging.Logger.log,例如:

public void log(Level level,
                    String msg,
                    Object[] obj,
                    Throwable thrown)
{
   //StringBuilder buff = ...
   // some string manipulation with 'msg' and 'obj'
   // ...
   log(level, buff.toString(), thrown);
}

关于java - 如何使用抛出的参数进行记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41208319/

相关文章:

logging - RSpec:如何测试 Rails 记录器消息期望?

python - 登录 GCP 和本地

java - 实现树时使用 java.io.Serializable?

java - 减少 if 语句的数量,或替换为 for 或 switch 或其他

java - Eclipse关闭时如何避免触发TableViewer

java - 异常消息处理

session - 如何跨多个Web应用程序,多个微服务跟踪 session

java - 将 Groovy 模板引擎导入 Java 项目

java - Android TextView Marquee 以编程方式

mysql - 如何使用触发器来记录 MySQL 中数据库更改的历史记录?