Java日志的使用方法?

Java日志的使用方法?,第1张

Java日志可以通过使用java.util.logging包中的Logger类来实现.

使用方法如下:

首先,需要获取一个Logger实例,可以使用Logger.getLogger()方法来获取. 例如:

Logger logger = Logger.getLogger(MyClass.class.getName())

使用logger实例记录日志. Logger类提供了多个重载的log()方法来记录不同级别的日志. 例如:

logger.info("This is an info message.")

logger.warning("This is a warning message.")

logger.severe("This is a severe message.")

可以使用logger.setLevel()方法来设置日志记录级别,只有大于等于该级别的日志才会被记录.

可以使用logger.addHandler()方法来添加日志处理器(Handler),来将日志输出到不同的地方,如控制台、文件、网络等.

使用logger.log() 可以记录不同级别的日志,可以根据需要记录不同级别的日志

可以使用logger.setUseParentHandlers(false) 取消继承父级日志处理器,只使用自己的处理器

单独的Java程序包, 需要通过命令java -jar或java -cp的方式启动

我们可以在启动命令中加入系统运行时变量, 在log4j加载配置文件之前通过System.getProperties(“path”)读取此变量, 即可实现灵活加载当前路径.

(1) 启动脚本设置:

假设当前项目的目录结构为:

/Projects/KafkaConsumer

丨 bin 项目的启动脚本

丨 conf 项目的配置文件

丨 lib 项目的其他依赖包

丨 bogs 项目的日志输出路径

启动脚本位于bin目录下, 内容示例如下:

# 获取当前脚本所处的目录, 然后进入其上级目录, 最后pwd输出该目录, 最终的结果是/Project/KafkaConsumerbase_dir=$(cd `dirname $0`cd ..pwd)# 获取Java运行程序的位置, 并指定主类java_bin=$(which java)main_class=”org.shoufeng.elastic.ConsumerMain”# 通过-cp、扩展CLASSPATH、指定主类的方式启动项目, # 并通过“-D”的方式向此程序的运行时环境中设置当前项目的路径,# 即可在程序中通过System.getProperty(“base.dir”)获取此路径 nohup ${java_bin} -Dbase.dir=${base_dir} -cp ${CLASSPATH}:${base_dir}/conf:${base_dir}/lib/* ${main_class} >>/dev/null &

(2) Java程序读取变量:

实log4j的FileAppender本身支持动态设置文件路径, 如:

log4j.appender.logfile.File=${base.log}/logs/app.log

其中“${base.log}”是一个变量, 会被System Property中的base.log的值代替, 代码中的使用方式为:

public static void main(String[] args) { // 获取系统运行时变量中的日志文件的输出路径 // 此变量需要在启动命令中通过-D的方式设置 String baseDir = System.getProperty(“b


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11500383.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存