精华内容
下载资源
问答
  • 日志级别

    2020-04-14 17:47:44
    日志级别 从小到大 ALL、DEBUG 、INFO、WARA、ERROR 、FATAL 、OFF ALL(输出所有类型日志) DEBUG (输出DEBUG 以上级别日志) INFO(输出INFO以上级别日志) WARA(输出WARA以上级别日志) ERROR (输出ERROR 以上...

    日志级别 从小到大
    ALL、DEBUG 、INFO、WARA、ERROR 、FATAL 、OFF
    ALL(输出所有类型日志)
    DEBUG (输出DEBUG 以上级别日志)
    INFO(输出INFO以上级别日志)
    WARA(输出WARA以上级别日志)
    ERROR (输出ERROR 以上级别日志)
    FATAL (输出FATAL 以上级别日志)
    OFF (关闭日志输出)

    展开全文
  • 昨天项目中需要引入一个其他系统的功能,在直接把对方pom引入后,重新启动项目后,控制台输出大量Zookeeper和Spring的DEBUG日志;首先,将log4j从引入的项目中排除掉...临时解决: 将次文件里面的日志级别修改为INFO...

    现象:

    昨天项目中需要引入一个其他系统的包,在直接把对方的包通过pom引入后,启动项目后,控制台输出了大量Zookeeper和Spring的DEBUG日志;

    问题分析:

    因为差异只是引入这个包之后出现的,排查此包中的日志相关配置

    问题处理:

    检查发现引入的这个包中包含自己的log4j.perp;

    点进去发现项目打包的时候,里面的日志界别设置的是DEBUG;

    临时解决:

        将文件里面的日志级别修改为INFO;

    长久解决:

         通知对方项目组修改日志级别后,更新私服包

     

     

        

    展开全文
  • 之前看了网上发的日志级别的使用规范和「日志管理与分析权威指南」里面的日志级别规范和说明,具体内容如下。JAVA Log4j的8个日志级别log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别),优先级从高到低...

    0eb8a344ecb1fe0b1f1529f3ede8869e.gif

    之前看了网上发的日志级别的使用规范和「日志管理与分析权威指南」里面的日志级别规范和说明,具体内容如下。

    JAVA Log4j的8个日志级别

    log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别),优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL。

    「ALL」: 最低等级的,用于打开所有日志记录。

    「TRACE」 : designates finer-grained informational events than the DEBUG.Since:1.2.12,很低的日志级别,一般不会使用。

    「DEBUG」:  指出细粒度信息事件对调试应用程序是非常有帮助的,主要用于开发过程中打印一些运行信息。

    「INFO」: 消息在粗粒度级别上突出强调应用程序的运行过程。打印一些你感兴趣的或者重要的信息,这个可以用于生产环境中输出程序运行的一些重要信息,但是不能滥用,避免打印过多的日志。

    「WARN」: 表明会出现潜在错误的情形,有些信息不是错误信息,但是也要给程序员的一些提示。

    「ERROR」: 指出虽然发生错误事件,但仍然不影响系统的继续运行。打印错误和异常信息,如果不想输出太多的日志,可以使用这个级别。

    「FATAL」: 指出每个严重的错误事件将会导致应用程序的退出。这个级别比较高了。重大错误,这种级别你可以直接停止程序了。

    「OFF」:  最高等级的,用于关闭所有日志记录。

    如果将log level设置在某一个级别上,那么比此级别优先级高的log都能打印出来。例如,如果设置优先级为WARN,那么OFF、FATAL、ERROR、WARN4个级别的log能正常输出,而INFO、DEBUG、TRACE、 ALL级别的log则会被忽略。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。

    致命错误「FATAL」

    表示需要立即被处理的系统级错误。当该错误发生时,表示服务已经出现了某种程度的不可用,系统管理员需要立即介入。

    这属于最严重的日志级别,因此该日志级别必须慎用,如果这种级别的日志经常出现,则该日志也失去了意义。

    通常情况下,一个进程的生命周期中应该只记录一次FATAL级别的日志,即该进程遇到无法恢复的错误而退出时。

    当然,如果某个系统的子系统遇到了不可恢复的错误,那该子系统的调用方也可以记入FATAL级别日志,以便通过日志报警提醒系统管理员修复。

    错误 「ERROR」

    错误日志是用来传递系统或应用程序中出现的各种级别的错误。例如,操作系统在无法同步缓存区到磁盘的时候会生成错误信息。不确定的是,许多错误信息只能给出为什么出错的起点,要寻找出导致错误发生的根本原因还需要进一步分析。

    该级别的错误也需要马上被处理,但是紧急程度要低于FATAL级别。当ERROR错误发生时,已经影响了用户的正常访问。从该意义上来说,实际上ERROR错误和FATAL错误对用户的影响是相当的。

    FATAL相当于服务已经挂了,而ERROR相当于好死不如赖活着,然而活着却无法提供正常的服务,只能不断地打印ERROR日志。

    特别需要注意的是,ERRORFATAL都属于服务器自己的异常,是需要马上得到人工介入并处理的情况。而对于用户自己操作不当,如请求参数错误等等,是绝对不应该记为ERROR日志的。

    警告 「WARN」

    警告信息是在系统即将丢失东西,而又不影响系统运行下而产生的,例如一个应用程序在没有获得正确数量的参数传递的时候,但是它又能够在没有这些参数的情况下正常运行,这种情况下可能就是记录警告信息提示使用者或者管理员。

    该日志表示系统可能出现问题,也可能没有问题,这种情况在例如网络的波动等情况。对于那些目前还不是错误,然而不及时处理也会变为错误的情况,也可以记为WARN日志,例如一个存储系统的磁盘使用量超过阀值,或者系统中某个用户的存储配额快用完等等。

    对于WARN级别的日志,虽然不需要系统管理员马上处理,也是需要即时查看并处理的。因此此种级别的日志也不应太多,能不打WARN级别的日志,就尽量不要打。

    信息 「INFO」

    这种类型的信息被设计成告诉用户或者开发者一些没有风险的事情发生了。该种日志记录系统正常运行状态,例如某个子系统的初始化,某个请求的成功执行等等。

    通过查看INFO级别的日志,可以很快地对系统中出现的WARN,ERROR,FATAL错误进行定位。INFO日志不宜过多,通常情况下,INFO级别的日志应该不大于TRACE日志的10%。

    调试 DEBUG or TRACE

    软件系统在应用程序代码运行时生成的调式信息,是为了给软件开发人员提供故障检测和定位问题的帮助。

    这两种日志具体的规范应该由项目组自己定义,该级别日志的主要作用是对系统每一步的运行状态进行精确的记录。

    通过该种日志,可以查看某一个操作每一步的执行过程,可以准确定位是何种操作,何种参数,何种顺序导致了某种错误的发生。可以保证在不重现错误的情况下,也可以通过DEBUG(或TRACE)级别的日志对问题进行诊断。

    需要注意的是,DEBUG日志也需要规范日志格式,应该保证除了记录日志的开发人员自己外,其他的如运维,测试人员等也可以通过DEBUG(或TRACE)日志来定位问题。

    Python日志级别参考: http://suo.im/6fvfZa  http://suo.im/6ut404

    Linux系统日志级别参考: http://suo.im/60sStE

    d4bedf912be93b49d8e16aae11c4f9a8.png

    展开全文
  • 1. Spark设置日志级别 前言 Spark有多种方式设置日志级别,这次主要记录一下如何在Spark-submit设置Spark日志级别,本文介绍三种方式 需求 因为Spark的日志级别默认为INFO(log4j.rootCategory=INFO, console),这样在...

    1. Spark设置日志级别

    前言

    Spark有多种方式设置日志级别,这次主要记录一下如何在Spark-submit设置Spark日志级别,本文介绍三种方式

    需求

    • 因为Spark的日志级别默认为INFO(log4j.rootCategory=INFO, console),这样在运行程序的时候有很多我不需要的日志信息都打印出来了,看起来比较乱,比较烦,抓不住重点,而我只想把warn和error打印出来。
    • 之前在测试环境或者在IDEA我是通过其他几种方式(下面会介绍)设置的,但是在生产环境下不允许我修改集群的配置文件(不是我负责~),而在代码里设置日志级别却不生效(原因还没找到),最后通过spark-submit里设置日志级别搞定的。

    1.1 Spark-sumbit设置日志级别, Spark job 独立的log4j配置方法

    1.1.1 Linux命令如下

    spark-submit \
    --conf "spark.driver.extraJavaOptions=-Dlog4j.configuration=file:log4j.properties"
    

    或者

    spark-submit \
    --conf "spark.driver.extraJavaOptions=-Dlog4j.configuration=file:/log4j.xml" 
    

    这里的log4j配置可以是 log4j.properties 或者 log4j.xml ,没有限制
    其中log4j.properties/xml为我将本地的日志文件,拷贝到执行spark-submit的机器上

    1.1.2 Spark job 独立的log4j配置方法详解

    • spark中提供了log4j的方式记录日志。可以在**$SPARK_HOME/conf/下,将 log4j.properties.template 文件copy为 log4j.properties 来启用log4j配置。但这个配置为全局配置, 不能单独配置某个job的运行日志。如下介绍spark (streaming) job独立配置**的log4j的方法。

    • 设置方法
      spark job提交时可以在 --conf 中配置log4j.configuration 参数来指定log4j 配置文件,例如:

    spark-submit \
    --conf "spark.driver.extraJavaOptions=-Dlog4j.configuration=file:/log4j.xml" 
    

    (这里的log4j配置可以是 log4j.properties 或者 log4j.xml ,没有限制)

    • 配置示例
      例如使用xml格式配置文件:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' >
    
        <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
            <param name="file" value="${log_name}.log" />
            <param name="threshold" value="INFO"/>
            <param name="DatePattern" value="yyyyMMdd"/>
            <param name="append" value="true" />
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d [%t] %-5p %c(%L) - %m%n"/>
            </layout>
        </appender>
    
        <root>
        //指出日志级别
            <priority value ="INFO"/>
            <appender-ref ref="FILE"/> 
        </root>
    </log4j:configuration> 
    

    对于<param name="file" value="${log_name}.log" >可以写死一个log路径,也可以在代码中做设置,例如设置log名字为myLog,可以在Logger初始化之前 设置: System.setProperty(“log_name”, “myLog”);

    1.2 修改集群配置文件

    cd $SPARK_HOME/conf 
    cp log4j.properties.template log4j.properties
    vim log4j.properties
    

    将log4j.rootCategory=INFO, console改为log4j.rootCategory=WARN, console

    1.3 在IDEA里设置

    • 将log4j.properties放在项目的src/main/resources即可
    • 代码里配置
    spark.sparkContext.setLogLevel("WARN")
    

    在这里插入图片描述

    2. 总结Spark三种设置日志级别方式

    • 如果在自己的测试集群上, 直接修改$Spark_HOME/conf下的log4j.properties即可
    • 如果在IDEA里,将log4j.properties放在项目的src/main/resources即可
    • 如果在生产环境的集群,又不允许修改配置文件的话,用上面的spark-submit --conf即可
    展开全文
  • Log 日志级别

    万次阅读 多人点赞 2016-09-07 12:51:06
    一直对于程序中的日志级别有点模糊,今天专门百度学习下。遂成此文;     日志记录器(Logger)是日志处理的核心组件。log4j具有5种正常级别(Level)。: 1.static Level DEBUG :     DEBUG Level指出细粒度信息事件...
  • java日志级别

    千次阅读 2020-03-03 17:58:18
    java中日志级别有7 个级别:severe、Warning、info、config、fine、finer、finest。默认情况只记录前三个级别。另外可以使用Level.ALL开启所有的级别记录。或者使用Level.OFF关闭所有的级别记录。 log4j中日志级别...
  • SpringBoot不重启修改日志级别【Slf4jj动态日志级别】 前言 需求: 线上日志级别高,而定位问题时需要低级别日志便于分析问题 功能:不重启服务器,提供设置页,手动触发Slf4j 项目日志级别变化 扩展:可将此功能放...
  • JAVA 日志级别

    2020-12-02 11:05:06
    log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别) ... designates finer-grained informational events than the DEBUG.Since:1.2.12,很低的日志级别,一般不会使用。 DE...
  • 日志级别排序

    千次阅读 2019-07-26 19:56:54
    日志级别下拉菜单能否按照日志输出量从大到小或者从小到大排序: silent < error < warning < info < debug
  • 为了减少日志频繁打印带来的性能影响,线上环境设置的日志级别一般都相对较高。而当出现生产问题需要排查的时候,可能需要适当降低日志级别(例如DEBUG)来打印更多的日志信息帮助定位问题。 传统的做法一般是: 1、...
  • python日志级别

    2018-11-30 12:21:42
    python日志级别: critical&amp;gt;error&amp;gt;waring&amp;gt;info&amp;gt;debug 级别越高打印的日志越少,反之亦然,即 Debug : 打印全部的日志(notset等同于debug) info : 打印info,warning,...
  • ceph日志级别

    千次阅读 2017-08-14 00:25:49
    在ceph运行的过程中,可以通过调整日志级别来排查系统异常等。代码文件中经常有dout(10)这样的语句。表示输出到日志,而数字则代表日志级别。日志的设置有debug_osd,debug_mon等。#define dout_subsys ceph_subsys_...
  • Log日志级别

    2020-05-20 16:33:41
    1. 日志级别 日志一共分成5个等级,从低到高分别是: DEBUG INFO WARNING ERROR CRITICAL 说明: DEBUG:详细的信息,通常只出现在诊断问题上 INFO:确认一切按预期运行 WARNING:一个迹象表明,一些意想不到的事情...
  • JUL日志级别介绍

    2020-05-05 14:10:27
    日志的级别 ...jul中定义的日志级别 * java.util.logging.Level中定义了日志的级别: SEVERE(最高值) WARNING INFO (默认级别) CONFIG FINE FINER FINEST(最低值) * 还有两个特殊的级...
  • 正确使用日志级别

    2020-04-11 16:29:32
    日志级别 日志的级别通常有以下几种: debug/trace info warning error fatal 这几种日志级别的严重程序依次递增,但是乱用的比较多,比如android中常见一律都是 Log.e(…)。之所以乱用,主要源于我们缺少必要的...
  • 更改日志级别 在运行时中更改日志记录级别非常重要,这主要在生产环境中非常重要,在生产环境中,您可能希望在有限的时间内进行调试日志记录。 好了,更改根记录器非常简单–假设您有一个具有所需记录级别的输入...
  • tomcat日志级别

    千次阅读 2018-06-05 15:21:05
    tomcat日志级别有以下几种: Log level Description SEVERE(highest) Captures exception and Error WARNING Warning messages INFO Informational message, related to the server activity CONFIG ...
  • Linux系统日志级别

    2018-01-21 22:06:19
    /proc/sys/kernel/printk文件定义了4个数字, 查看日志级别:cat /proc/sys/kernel/printk4 4 1 7①控制台日志级别:优先级高于该值的消息将被打印至控制台。②缺省的消息日志级别:将用该值来打印没有优先级的消息...
  • Log的日志级别

    2017-07-10 17:00:08
    Log.v(TAG, "日志级别 v"); 提示 黑色 Log.d(TAG, "日志级别 debug"); 调试 蓝色 Log.i(TAG, "日志级别 info"); 信息 绿色 Log.w(TAG, "日志级别 warn"); 警告 橘黄色 Log.e(TAG, "日志级别 error"); ...
  • 动态修改springboot日志级别

    千次阅读 2020-03-26 13:58:04
    为了减少日志频繁打印带来的性能影响,线上设置的日志级别相对较高。当线上应用出现问题需要我们排查的时候,可能需要适当降低日志级别(例如DEBUG)来打印更多的日志信息。 传统的方式需要1、修改日志级别 2、重启...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,253
精华内容 8,101
关键字:

日志级别