-
Notifications
You must be signed in to change notification settings - Fork 2
基本功能介绍
先导入包 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也可以自动生成默认配置的配置文件,这个功能详情请看'更多功能'
代码:
1.注意运行时候打印出的以Optilog Note开头的文字,它将告诉你Optilog内部发生了什么异常
2.注意添加依赖,如果使用配置文件但未声明依赖将会抛出ClassNotFoundException.
3.更多功能看下一篇Wiki吧!。。。