我对java很陌生,并且认识到(有人告诉我) logger.log(LEVEL.DEBUG,message/instance)在跟踪或获取日志信息方面很有用,我在googled上搜索并看到了很多这样的线程,但是没有得到任何帮助,我想知道它的用法,以及如何从这种方法中获得最大的好处。
发布于 2014-04-14 18:29:07
首先,我要做下面的Google搜索:
logging best practices java我得到的第一个链接是这,它解释了何时使用每个日志级别。
现在,为了给出一些上下文,日志级别被用来很容易地通过大量的日志文件对骰子进行切片。假设您有一个web应用程序,它为每个用户的特定单击操作创建一个日志。如果该web应用程序有数千名用户同时登录到应用程序,您可能会以每分钟数百万行日志结束。你怎么知道哪个日志对你很重要?浏览数以百万计的线条并不明智,是吗?
作为开发人员,您可能只对错误或警告感兴趣。营销人员可能对信息日志感兴趣,这些日志显示哪些网页或网站的各个部分获得最多的点击量,网络用户可能希望查看显示严重服务器问题的日志。
SLF4J还允许您创建自定义标记。您可以向日志中添加标记,以便从日志中获得更大的业务价值。
最后,我要说的是,一旦代码投入生产,就把日志看作是最好的朋友。使用级别、标记等组织日志越好,就越早能够调试问题并及时做出响应。
发布于 2014-04-14 18:52:55
听起来好像有人在给您提供有关Apache日志的信息("DEBUG"),但是后面的目的和您在帖子中显示的日志基本上是一样的:即向开发人员(通常)提供他们在查看代码时会发现有用的信息。
在java.util.logging.Level中有几个日志级别可用。它们用于控制日志记录的详细级别。
严重问题警告--通常用于表示潜在的问题信息--用于信息消息配置--用于静态配置消息配置--提供一些更精细的跟踪信息--提供比精细信息更多的跟踪信息--提供最多的跟踪信息--全部日志所有消息关闭--关闭记录器。
如果您希望提供开发人员在代码中发现感兴趣的信息,您可能会使用精细、更精细或最好的信息,这取决于您希望提供多少信息。但是,在生产环境中通常不推荐这样做,因为额外的细节可能会变得非常垃圾。通常,在这样的环境中,使用日志级别的信息或警告,然后跟踪信息只有在发生重大问题时才启用,并且不能轻松地在本地复制。
当您调用日志( level,String message)时,将对照阈值(通常在属性文件中设置)检查消息的级别,以确定是否需要记录它。如果是这样的话,配置的附录将在适当的地方添加消息(控制台、文件等)。
我还建议使用第三方库(如Apache的Log4J )来增强日志功能。见org.apache.log4j.Level。它本质上为日志记录提供了更细粒度的控制,并使用了级别术语来更正确地定义所附加消息的级别。
调试类似于精细,跟踪类似于最好,错误和致命类似于严重等等。
有帮助吗?
https://stackoverflow.com/questions/23067252
复制相似问题