首页 > 编程知识 正文

java线程池原理,日志是干什么的

时间:2023-05-03 23:04:24 阅读:20241 作者:4208

OK,在这里查一下Java相关的日志吧。

日志记录是执行APP应用程序不可缺少的一部分。 具有适当格式和完整信息的日志记录可帮助开发人员在程序出现问题时快速确定错误的原因。 对开发人员来说,在程序中使用日志API记录日志并不复杂,但遵循一些最佳做法可以更好地利用日志。 本系列介绍在Java程序中记录日志的最佳实践,以及如何使用开源软件聚合和分析日志。

在当前的APP应用中,日志的重要性不言而喻。 很难想象没有记录功能的APP应用程序正在生产环境中运行。 日志可以提供的功能多种多样,记录程序执行时发生的错误信息、状态信息、调试信息、执行时间信息等。 在生产环境中,日志是确定问题原因的重要依据。 执行APP应用程序时生成的各种信息必须通过日志API进行记录。 许多开发人员习惯于使用System.out.println、System.err.println和异常对象的printStrackTrace方法来输出相关信息。 虽然这些使用方法很简单,但所产生的信息并不能在出现问题时提供有效的帮助。 所有这些使用方法都必须更改为使用日志

API。 使用日志API不会增加多少复杂性,但好处很明显。

日志记录是APP应用程序开发中不可缺少的功能,但JDK的第一个版本不包含与日志记录相关的API和实现。 相关的API(Java.util.logging包,JUL )和实现直到JDK 1.4才加入。 因此,在日志记录这一领域,社区为实现许多开源做出了贡献。 其中流行的是log4j及其继承人logback。 除了实际的日志记录实现外,还有与日志记录相关的封装API,如Apache commons日志记录和SLF4J。 该类库的作用是根据日志记录的实现提供封装的API层次,对日志记录

API的使用者提供统一的接口,可以自由切换不同日志记录的实现。 例如,从JDK的默认日志记录中实现JUL,切换为log4j。 这种打包的API库在框架实现中经常使用,因为它需要考虑框架用户的各种需求。 在实际的项目开发中很少使用。 因为很少项目在开发过程中切换不同的日志记录实现。 本系列博客将具体介绍这些类库。

值得注意和反思的是,记录日志是有效利用日志的第一步,更重要的是如何处理和分析程序运行时生成的日志。 典型的方案包括在日志包含符合特定条件的记录时触发相应的通知机制,如邮件和邮件通知。 此外,如果在运行程序时遇到错误,还可以快速确定潜在问题的原因。 这种处理和分析的能力对实际系统的维护尤为重要。 如果正在运行的系统包含许多组件,则日志对于诊断错误尤为重要。

日志原理

如果没有日志系统,则只有system.out.println可以输出用于监视项目执行情况的代码。 好的,现在写一个例子吧:

package org.linkin park.com mons.logtest;

公共类链接

{

publicstaticvoidmain (字符串[ ] args ) )。

{

log (;

}

公共静态语音日志(

{

for(intI=0; i 3; I )

{

for(intj=0; j 3; j )

{

System.out.println ('开始日志输出: '第i '*' j '次!' );

}

}

}

}

两个周期后,我们在控制台上输出了i*j的效果。 这种日志记录方式非常简单,但缺点也非常明显。 该输出不可控,复杂的程序会将所有信息输出到屏幕上,日志可读性非常差。 此外,输出到画面会消耗资源,大量的I/o操作会改变程序的执行

很晚。 那么,在这里改善一下吧。 代码如下。

package org.linkin park.com mons.logtest;

公共类链接

{

私有静态布尔标志=true;

publicstaticvoidmain (字符串[ ] args ) )。

{

log (;

}

公共静态语音日志(

{

for(intI=0; i 3; I )

{

for(intj=0; j 3; j )

{

是if (标志)

{

System.out.println ('开始日志输出: '第i '*' j '次!' );

}

}

}

}

}

上面的代码不太能说明。 为了控制日志的输出而进行了标记。 此时可以控制日志的输出,但只有输出和非输出两个级别。 flag标志为false时不输出,flag标志为true时输出。

wxdbl等日志工具也是这一原理,但输出水平大幅增加。 输出级别、输出样式和目标可以设置为配置文件,而不是在程序中写4,从而提高灵活性。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。