JLogger:自制极简版日志工具

在这里插入图片描述

文章首发至:高智商白痴

背景

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

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

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

代码:

public class LoggerTest {
    // 创建一个JLogger对象
    private static final JLogger logger = JLogger.getJLogger();

    public static void main(String[] args) {
        logger.debug("debug", "debug test...");
        logger.info("info", "info test...");
        logger.warn("warn", "warn test...");
        logger.error("error", "error test...");
        // 手动创建一个异常
        int[] a = new int[5];
        try {
            for (int i = 0; i < 10; i++) {
                a[i] = i;
            }
        } catch (Exception e) {
            logger.error("error", e);
        }
    }
}

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值