Skip to content
OptiJava edited this page Dec 1, 2022 · 10 revisions

一、占位符

在初始化日志之后,调用:
log.info("Your score is #1 #1, but full mark is #2", "100", "100000");
输出:
......Your score is 100 100, but full mark is 100000
#1代表占位符中的第一个,可以在日志中重复使用

占位符支持无参数lambda表达式

二、输出异常


调用方法:
log.error("Test Exception", new Throwable("Test", new Exception()));
输出:

java.lang.Throwable : Test
    at com.optilog.test main(test.java:8)
Caused By: java.lang.Exception
    at com.optilog.test main(test.java:8)    

三、打包日志


调用log.command("%zip path//to//directory")可以将指定文件夹的.log文件全部打包进一个zip包
调用log.command("%zip -d path//to//directory")在打包后会将原日志文件删除(不走回收站)
<--顺带一提:log.command(String)是一套在Optilog中的指令系统,有一些指令,可以去com.optilog.log.Logger类中的logCommand方法看一看有什么指令(你们肯定能看懂)

四、遍历实例


log.getAllField方法可以遍历这个实例下的所有变量以及他的值

五、运行期修改Optilog设置


初始化日志后调用log.setXXXXXXXX(boolean)方法可以修改该实例绑定的配置文件的设置(XXXXXXXX指的是配置项,eg:log.setPrintInfo(true))

六、生成默认的配置文件

SettingFiles.generiteXxxxSettings(String path)可以生成默认配置文件再指定的路径上(Xxxx替换成Json/Properties/Yaml/Xml)

七、LocalField

LocalField可以储存一个变量,不论在哪里,你都可以使用它:
LocalField.addField(Object fieldName,Object value)添加变量
LocalField.getField(Object fieldName)获取变量
LocalField.removeField(Object fieldName)移除变量(以后还会增加修改变量)