JLogger:自制极简版日志工具

忘是亡心i 2022-10-22 04:20 249阅读 0赞

在这里插入图片描述

文章首发至:高智商白痴

背景

最近开学了,忙里偷闲的又想起来我之前搁置的一项小项目:

Jspider: 一个 java 端的爬虫插件。

之前在每次想写爬虫时都只会想到用 Python ,仿佛我的思维就已经认定,爬虫就等于Python了一样。殊不知其他的很多语言都可以做。
比如 :javaJavaScript … (太多了,写不完 ~~~)
Jspider 就是基于 java 编写的,目的在于,使用 java 原生的库最少的第三方库来编写一个 java 端的爬虫插件。而本文所讲的 JLogger 就是专门为 Jspider 所写的,主要用于日志的记录并且内置在 Jspider 内部。


导入

自己实现的极简版日志工具,主要用于在自己的项目内置。
那些第三方日志框架功能太多,体积太大,不适合我的一些小项目。所以才有了 JLogger
主要代码参考了一些大佬的思路。然后做了一些修改。


配置文件

其实关于是否要加入配置文件,我想了很久,如果仅是为了用于 Jspider 的话,修改参数就直接修改代码就好,不过万一以后会有需要其他的用处呢?而且对于以后直接使用打包好的 jar 包的话,不就麻烦了。






































配置字段参数 作用
LOGGER_OUT_FILE 是否将日志输出到 文件
LOGGER_OUT_CONSOLE 是否将日志输出到 控制台
TAG_MAX_LENGTH 每条 Log 的 tag 输出的最大长度
MESSAGE_MAX_LENGTH 每条 Log 的 message 输出的最大长度
LOWEST_PRINT_LEVEL 日志最低输出级别,等级注释:
1 : DEBUG
2 : INFO
3 : WARN
4 : ERROR
DATE_FORMAT 日期格式
FILE_PATH 输出文件路径

使用示例

配置文件:

maven项目:在resources目录下创建一个配置文件:logger.properties

  1. # 输出到文件
  2. LOGGER_OUT_FILE=true
  3. # 输出到控制台
  4. LOGGER_OUT_CONSOLE=true
  5. # 每条 Log 的 tag 输出的最大长度, 超过部分将被截断
  6. TAG_MAX_LENGTH=15
  7. # 每条 Log 的 message 输出的最大长度, 超过部分将被截断
  8. MESSAGE_MAX_LENGTH=200
  9. # 日志最低输出级别
  10. LOWEST_PRINT_LEVEL=1
  11. # 日期格式
  12. DATE_FORMAT=yyyy-MM-dd HH:mm:ss
  13. # 输出文件路径
  14. FILE_PATH=/src/main/resources/logger.log

代码:

  1. public class LoggerTest {
  2. // 创建一个JLogger对象
  3. private static final JLogger logger = JLogger.getJLogger();
  4. public static void main(String[] args) {
  5. logger.debug("debug", "debug test...");
  6. logger.info("info", "info test...");
  7. logger.warn("warn", "warn test...");
  8. logger.error("error", "error test...");
  9. // 手动创建一个异常
  10. int[] a = new int[5];
  11. try {
  12. for (int i = 0; i < 10; i++) {
  13. a[i] = i;
  14. }
  15. } catch (Exception e) {
  16. logger.error("error", e);
  17. }
  18. }
  19. }

项目地址:https://gitee.com/jackson-art/jlogger

发表评论

表情:
评论列表 (有 0 条评论,249人围观)

还没有评论,来说两句吧...

相关阅读

    相关 机器学习各算法思想(

    读到的一篇不错的文章,拿来和大家分享一下。 转自–头条公众号–极数蜗牛 (1)线性回归 回归最早是由高尔顿研究子女身高与父母身高遗传关系提出的,发现子女平均身高总是向中