@chenbinghua
2019-03-02T07:13:09.000000Z
字数 586
阅读 790
java
通常我们开发的时候用System.out.println来在控制台输出打印数据,但是有以下几点缺点
1.不知道打印的时间
2.不知道这句话是在哪个类,哪个线程打印出来的
3.只能打印在控制台,不能保存到文件,数据库,甚至是邮件发送出去(生成环境出错的消息)
4.不能知道打印的级别
5.无法关闭调试信息,一旦System.out.println多了之后,到处都是输出,增加定位自己需要信息的难度
等等。
老村长给小张下达的需求是这样的:
1. 日志消息除了能打印到控制台, 还可以输出到文件,甚至可以通过邮件发送出去(例如生成环境出错的消息)
2. 日志内容应该可以做格式化, 例如变成纯文本,XML, HTML格式等等
3. 对于不同的Java class,不同的 package , 还有不同级别的日志,应该可以灵活地输出到不同的文件中。
例如对于com.foo 这个package,所有的日志都输出到 foo.log 文件中
对于com.bar 这个package ,所有文件都输出到bar. log文件中
对于所有的ERROR级别的日志,都输出到 errors.log文件中
4. 能对日志进行分级, 有些日志纯属debug , 在本机或者测试环境使用, 方便程序员的调试, 生产环境完全不需要。有些日志是描述错误(error)的, 在生产环境下出错的话必须要记录下来,帮助后续的分析。