Skip to content
OptiJava edited this page Jun 9, 2022 · 8 revisions

一、简单操作

先导入包 com.optilog.log.Log

import com.optilog.*;

初始化日志:

如果配置文件使用json格式:Log log = Log.initLog("C:\\Settings\\Setting.json");

如果配置文件使用properties格式:Log log = Log.initLog("%prop C:\\Settings\\Setting.properties");

如果配置文件在classpath中,并使用json格式:Log log = Log.initLog("-cp C:\\Settings\\Setting.json");

如果配置文件在classpath中,并使用properties格式:Log log = Log.initLog("%prop -cp C:\\Settings\\Setting.properties");

以此类推,yaml配置文件也是一样的道理(yaml在2022.6.5最新的提交中已经被支持)

如果没有配置文件,可以将配置文件路径设置为空字符串:Log log = Log.initLog("");(这样设置在2022.5.2版本中会引发异常,在最新的提交中已经修复此bug)

如果没有特殊情况,建议使用yaml格式配置文件,因为yaml格式更加方便、简洁

注意:配置文件是与初始化出来的实例(我管Log log那个实例叫初始化出来的实例,Log.initlog(String)方法实际上返回的是new Optilog(...))绑定的,初始化新的实例绑定新的配置文件,如果两个实例绑定同一个配置文件有可能会出现问题(所以建议最好一个项目只用一个实例)
以后Wiki中提到的log.xxx都是初始化出来的实例的那个log

一整个java项目建议全程只用一个初始化出来的实例,不然会出bug!

之后,你可以通过调用方法来输出日志:

Optilog分五个级别:info,error,Warning,debug,FATAL

log.info("someMessage"); log.error("someMessage"); log.warn("someMessage"); log.debug("someMessage"); log.fatal("someMessage");

配置文件实例:

(以properties为示范)
printInfo=true
#printXXXX就是输出到屏幕,就不细讲了,你们都能猜到
printError=true
printWarn=true
printDebug=true
printFatal=true
#defaultConsolePath=D:\\Program\\resources\\logs
#如果指定了defaultConsolePath,则未设置xxxxPath的级别的日志输出到defaultConsolePath路径,若defaultConsolePath为空,则输出到defaultConsolePath的日志不会输出到文件
#指定infoPath,errorPath,debugPath,fatalPath这些配置项,这些配置项必须引用Path1/2/3/4/5配置项,在Path1/2/3/4/5中指定绝对路径,若不指定其中一个级别,则那个级别不会被输出到文件
Path1=D:\\Program\\test\\resources\\logs
Path2=D:\\Program\\test
infoPath=%path1
errorPath=%path2
warnPath=%path1
debugPath=%path1
fatalPath=%path2
consoleInfo=true
#consoleXXXX就是输出到文件(和log4j2不一样),就不细讲了,你们都能猜到
consoleDebug=true
consoleError=true
consoleWarn=true
consoleFatal=true
infoSendToServer=true
#XXXXSendToServer就是输出发送到Optilog-Server(https://github.com/OptiJava/Optilog-Server/)
errorSendToServer=true
warnSendToServer=true
debugSendToServer=true
fatalSendToServer=true
startClient=true
#startClient如果要输出到OptilogServer的话,将此项设为true,若此项为false,XXXXsendToServer项必须全都为false,否则抛出SocketException
socketNumber=65535
host=localhost #配置OptilogServer的IP地址,不用OptilogServer可以不设置
#socketNumber是输出到OptilogServer的端口号,默认65535,不需要OptilogServer就不用设
packingFormat=[%yyyy-%MM-%dd|%HH:%mm:%ss(%SS))][%class %method(%file:%line)/%thread] %level:%msg
#这是输出格式,这些东西你们应该都认识,就不讲了偷个懒
fileName=%timeLog.log
#上面的Path1什么的都是指定路径(指定到文件夹),这个是输出日志的文件名,%time会被替换为当前时间

配置文件示例在项目中有,可以参考一下,Optilog也可以自动生成默认配置的配置文件,这个功能详情请看'更多功能'

代码: image

二、注意事项


1.注意运行时候打印出的以Optilog Note开头的文字,它将告诉你Optilog内部发生了什么异常
2.注意添加依赖,如果使用配置文件但未声明依赖将会抛出ClassNotFoundException.
3.更多功能看下一篇Wiki吧!。。。

Clone this wiki locally