开发者社区> 问答> 正文

Java对trace/debug/info 级别的日志输出用什么方式?

Java对trace/debug/info 级别的日志输出用什么方式?

展开
收起
大葱蘸大酱2 2021-10-13 14:40:58 957 0
1 条回答
写回答
取消 提交回答
  • 对 trace/debug/info 级别的日志输出,必须使用条件输出形式或者使用占位符的方式。

    说明:logger.debug("Processing trade with id: " + id + " and symbol: " + symbol);如果日志级别是 warn,上述日志不会打印,但是会执行字符串拼接操作,如果 symbol 是对象,会执行 toString()方法,浪费了系统资源,执行了上述操作,最终日志却没有打印。

    正例:(条件)

    if (logger.isDebugEnabled()) {

    logger.debug("Processing trade with id: " + id + " and symbol: " + symbol);

    }

    正例:(占位符)

    logger.debug("Processing trade with id: {} and symbol : {} ", id, symbol);

    资料来源:电子书《阿里巴巴Java开发手册》,下载链接:https://developer.aliyun.com/topic/download?id=1092

    2021-10-13 14:42:42
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
阿里云开发者社区官方技术圈,用户产品功能发布、用户反馈收集等。
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载