java web日志相关的几个问题

日志路径

/Users/ft521/Library/Tomcat/bin/logs/debug.log

发布模式

war模式:将WEB工程以包的形式上传到服务器 ;
war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器;
(1)war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布;

(2)war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。

(3)在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来。

日志记录需要考虑5条规则

  • 规则1、日志是面向读者的
  • 规则2、匹配日志等级和执行环境
    • 成品阶段: 我的代码是 INFO 等级,第三方库是 WARN。

    • 测试、集成阶段:我的代码是 DEBUG 等级,第三方库是 WARN(或者如果需要的话是 INFO)。

    • 开发阶段:任何有意义的信息

  • 规则3、提交前去除编码帮助日志
  • 规则4、log DEBUG消息之前检查日志等级
    if ( LOGGER.isDebugEnabled((){
    LOGGER.debug (…….)
    }
  • 规则5、了解你的 logger
    错误的写法。
    LOGGER.info(“Person name is “ + person.getName());

正确的写法

  LOGGER.info(“Person name is {}“, person.getName());

一些最佳实践

  • 在系统里出现异常的地方,记录异常的堆栈,如果可以,尽量通过异常的日志能还原当时的情景,比如当时受影响的是哪个用户、传入的变量是什么、处理哪些核心数据引发的异常等等
  • 禁止使用 System.out 或 System.error
  • 禁止使用 Apache Commons Logging , Java Util Logging,推荐使用slf4j,推荐使用Logback,代码中使用Slf4j记录日志
  • 使用半结构化的日志消息
[user1] 用户登录成功。
[user1] 用户成功购买产品 A。
[user2] 订单 003 付款失败。

你可能感兴趣的:(java web日志相关的几个问题)