精华内容
下载资源
问答
  • 再谈springboot启动为什么不打印日志?

    千次阅读 2019-08-04 19:09:48
    首先看下日志的启动流程,说一下前提,日志启动是基于spring事件机制,包括dubbo服务导出的启动也是基于spring事件机制 我们看看spring事件监听器的定义 /* * Copyright 2002-2016 the original author or authors....

    首先看下日志的启动流程,说一下前提,日志启动是基于spring事件机制,包括dubbo服务导出的启动也是基于spring事件机制在这里插入图片描述
    我们看看spring事件监听器的定义

    /*
     * Copyright 2002-2016 the original author or authors.
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *      https://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    
    package org.springframework.context;
    
    import java.util.EventListener;
    
    /**
     * Interface to be implemented by application event listeners.
     * Based on the standard {@code java.util.EventListener} interface
     * for the Observer design pattern.
     *
     * <p>**As of Spring 3.0, an ApplicationListener can generically declare the event type
     * that it is interested in. When registered with a Spring ApplicationContext, events
     * will be filtered accordingly, with the listener getting invoked for matching event
     * objects only.**
     *
     * @author Rod Johnson
     * @author Juergen Hoeller
     * @param <E> the specific ApplicationEvent subclass to listen to
     * @see org.springframework.context.event.ApplicationEventMulticaster
     */
    @FunctionalInterface
    public interface ApplicationListener<E extends ApplicationEvent> extends EventListener {
    
    	/**
    	 * Handle an application event.
    	 * @param event the event to respond to
    	 */
    	void onApplicationEvent(E event);
    }
    
    

    图片截图不全,我们看看源码中的注释,就可知道了。我们声明一个事件类型,spring启动完成后,会进行分发事件,我们匹配自己定义的事件类型。接下来看看启动流程,当然是关于日志的加载流程
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    日志系统类有个静态代码块,当类加载的时候,静态代码块也会被加载,静态代码块如下
    在这里插入图片描述
    在这里插入图片描述
    题外话,判断一个对象是否是同一个对象?1.由同一个classloader加载,并且是一个同类名。俩个classloader加载一个类,在虚拟机内部会认为是俩个类。
    综上所述,是加载日志组件的流程。接下来我们自定义个日志配置文件,然后看看我们的自定义的xml文件是否生效,以及模拟控制台不打印日志的情况
    首先演示我们的配置是生效的
    在这里插入图片描述
    接下来把依赖日志文件更改成log4j2,pom文件以及xml文件如下
    在这里插入图片描述
    xml文件如下

    <?xml version="1.0" encoding="UTF-8"?>
    
    <Configuration status="error">
        <Appenders>
            <Console name="Console" target="SYSTEM_OUT">
                <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
            </Console>
        </Appenders>
    
        <Loggers>
            <Root level="info">
                <AppenderRef ref="Console"/>
            </Root>
        </Loggers>
    </Configuration>
    

    先来我们来看配置是否生效
    在这里插入图片描述
    说明配置已经生效。看看打印日志的模式样式是否与原来有区别
    在这里插入图片描述
    现在模拟不打印日志的情况,log4j2基础组件截图发下
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    不打印情况下,主要是修改log4j2的配置文件,如下图

    在这里插入图片描述

    在这里插入图片描述
    综上所述,我们知道因为整体项目使用maven依赖,都是在类路径下,可能再引用其他模块情况下,覆盖了我们项目的配置,配置文件中没有输出到控制台,所以出现了不打印的情况。个人能力有限,表述不清请指正。

    展开全文
  • 项目部署在tomcat有日志文件输出,而部署在weblogic 12c上就没有日志文件的输出。 分析: 可能的原因1:项目中的 slf4j 的和 weblogic 12c 自带的slf4j模块冲突。 解决办法:在 WEB-INF目录新增 weblogic.xml,配置...

    情景:
    项目部署在tomcat有日志文件输出,而部署在weblogic 12c上就没有日志文件的输出。

    分析:

    可能的原因1:项目中的 slf4j 的和 weblogic 12c 自带的slf4j模块冲突。

    解决办法:在 WEB-INF目录新增 weblogic.xml,配置优先加载项目中的slf4j 模块。

    <?xml version="1.0" encoding="UTF-8"?>
    <weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app">
    	<container-descriptor>
    		<prefer-application-packages>
    			<package-name>org.slf4j</package-name>
    		</prefer-application-packages>
    	</container-descriptor>
    </weblogic-web-app>
    

    可能的原因2:项目中存在多个日志实现框架,如logback、log4j。这样会导致一个问题,slf4j门面绑定的实现框架不确定。

    小编遇到的情况是这样的:项目预期是使用logback框架,所以配置了logback.xml文件。在tomcat运行正常,但在 weblogic环境中无法打印日志。经查,运行过程中slf4j绑定的日志实现并不是logback。而是其他框架。
    在这里插入图片描述
    如图,多个found binding,说明找到多个日志实现。而Actual binding即为实际绑定的日志实现。我们预期是使用 logback,但实际上绑定的是 log4j。
    再往下深究,项目中并没有显式的引入图中所显示的 slf4j-log4j12 依赖。这包是从哪来的?使用maven依赖包分析工具,发现该包是由于引入 zookeeper依赖而间接引入的。
    到这里,知道jar包的来源就好办了。
    解决办法
    方式1. 添加 log4j.xml 配置文件。既然实际绑定的是log4j,自然添加了配置就能输出日志。(不推荐,随机绑定不可控)
    方式2. 将 slf4j-log4j12 的依赖排除掉,仅保留logback。

    <dependency>
    	<groupId>org.apache.zookeeper</groupId>
    	<artifactId>zookeeper</artifactId>
    	<version>3.4.10</version>
    	<exclusions>
    		<exclusion>
    			<groupId>org.slf4j</groupId>
    			<artifactId>slf4j-log4j12</artifactId>
    		</exclusion>
    	</exclusions>
    </dependency>
    

    refrence:
    官网 weblogic.xml配置文件说明
    源码解读SLF4J绑定日志实现的原理
    Weblogic 12c 运行使用Slf4j日志框架应用解决方案

    展开全文
  • nginx突然不记录日志了?

    千次阅读 2020-09-10 09:48:25
    尝试彻底重启nginx服务,先杀死所有nginx进程,再启动。

    尝试彻底重启nginx服务,先杀死所有nginx进程,再启动。

    展开全文
  • idea打印日志控制台显示

    万次阅读 2018-07-11 17:29:53
  • 解决logback打印日志的问题

    千次阅读 2019-05-29 15:06:29
    先看项目的 ...-- 只打印ERROR日志 --> <level>ERROR <onMatch>ACCEPT <onMismatch>DENY <!-- 日志输出级别 --> 注意:最后一个 ,把 INFO 改为 DEBUG 就可以输出所有的日志了。
  • 日志不打印问题

    2021-01-14 17:10:10
    简单来说就是日志jar包冲突了,然后冲突之后会选任意一个jar包加载。如果加载的包没有做相应的配置就不打印了。可以关注warn日志打印bind了哪个包。用idea看下依赖树,把需要的exclude的就好了。 ...
  • 但是当我放到服务器上面去之后,却不打印日志了。 唯一改动的地方就是日志所在路径了。 都是用的绝对路径。 log4j.appender.dailyFile.File=E:/work/apache-tomcat-6.0.44/webapps/ifpws/logs/message.log 在...
  • 项目升级到springboot2.0之后,sql日志一直无法正常控制台打印,但是logback生成的日志文件正常 ​​ sql语句都在网上的方法都试用过了,也没有解决 第一类,修改 日志级别 logging: level: ...
  • 部署在liunx 环境下的项目 之前一直可以正常打印日志突然之间 就不打印了 存储空间也没有满 重启项目后 日志回复了打印 输出日志是用的log4j
  • 详细探究logback不打印日志到文件的问题分析与案例演示,并提供官网bug的提交链接 环境与配置 问题 解决 原因 测试源码 测试结果 深入:线程出异常是否还会打印日志 环境与配置 使用maven构建的,...
  •  使用的是open jdk,不打印异常堆栈日志是因为JVM在多次遇到同一异常信息时,前几次会输出堆栈信息,后面就会主动优化掉,只反馈异常摘要信息 解决方法:  加上参数:-XX:-OmitStackTraceInFastThrow 转载于:...
  • 服务器输出日志文件的问题排查

    千次阅读 2018-09-23 18:55:40
    当时也没明白是怎么回事,又试着提交了一次还是那样,(以前都是这么操作的也没有问题),于是准备退出系统重新登陆再试试,谁知道退出后就再也登上去了,一直提示用户名和密码正确,(输入的用户名密码绝对没错...
  • 前言:上午写代码时还好好的,下午知道怎么回事突然显示logcat日志了,觉得很奇怪,于是开始找各种解决办法! 现象如图所示,logcat无日志显示: 首先,你可以试试修改以下参数: 2.若修改上述参数依然...
  • 今天在做项目maven依赖关系优化时,遇到一个问题,项目可以正常启动,但是线上的日志却完全消失了。 1、Log框架冲突? 根据以往踩坑经验,怀疑是因为maven依赖的调整,有第三方包中依赖的log框架被加载了,从而导致...
  • 不打印日志,并且连简单的nullporint等异常都输出!!! 也报错。。。 狠蒙蔽 问题出在哪呢? 碰到这种问题 。 检查日志的配置文件 具体配置 ,可自行百度。。。。。。 情况1: 在配置都正确的情况下,...
  • 日志如下图 , 11点日志没有打印出来 ![图片说明](https://img-ask.csdn.net/upload/201810/23/1540274340_530245.png) logback配置文件如下 : ``` ...
  • IDEA 控制台不打印日志信息

    千次阅读 2020-12-08 10:55:50
    这是打印日志样子 这是不打印的样子: 我这边的问题是因为同事打包的时候把配置文件交上去了,然后改了路径,配置文件的路径不是本地的,之前一直都打印到请求服务起上面去了。 修改:选择本地的路径就可以了。 ....
  • ![图片说明](https://img-ask.csdn.net/upload/201703/20/1489996600_190387.png),,最近做一个java应用,日志是slf4j+log4j,如图获取到logger,然后打印...程序正常,但日志不打印了,什么情况,望大神指点,谢谢
  • 其实我们代码中是正常打印日志的代码 log.error(e.getMessage(), e); 不过, 当相同位置发生相同异常达到一定次数 (具体次数一定), 就会自动省略堆栈信息, 剩下一句孤零零的 null 对于我们排查问题, 非常致命, ...
  • log4j项目启动不打印日志

    千次阅读 2019-02-21 10:31:22
    今天继续写我的博客的时候,突然发现我的项目启动日志了,想了想,估计是properties问题。看了一下log4j.properties。 咦~没问题啊!!!再仔细看看,还是没问题。然后各种找问题,一直都没发现问题。 然后...
  • WebLogic打印日志问题及解决办法
  • 服务器日志停止打印

    千次阅读 2018-11-21 23:15:31
    服务器日志停止打印 异常背景 突然接到客服通知网站访问异常;打开日志查看,提示调用底层A服务异常 查看A服务日志,发现项目日志无输出,Tomcat日志无异常 异常调试 查询发生宕机时间点附近的日志,发现有一个...
  • 控制台,不打印信息了; 点击 restart 数据重新出现了 。
  • 2,然而,在突然有一天,你发现flink控制台打印日志不受你的控制了。 花费时间解决冲突...... 然而一点效果都没有。。。。 3,解决办法 1)肯定是包冲突,搜索除log4j意外的日志打印,比如 (下面的...
  • Android Studio 解决logcat不打印日志

    千次阅读 2020-06-22 16:51:18
    好好地突然就无法打印日志了,网上搜索大家说的各种方法都不好使,浪费了太多时间。 没办法试着重启手机,搞定! 如果你也遇到这种情况,试试重启手机吧。
  • spring4 使用logback不打印日志

    万次阅读 2016-10-01 21:01:11
    背景工程中使用的spring4.2.6,在web.xml配置了logback的listener加载logback配置文件,使用logback打印日志,但是启动后spring core模块使用jcl(jarakta commons logging)打印,后边的使用logback打印。...
  • Tomcat的详细错误日志不见了,只报一个万恶的Context [] startup failed due to previous errors,却找到previous errors具体是啥东西
  • log4j.properties配置,想屏蔽程序中某个类warn级别的日志打印,设置log4j.logger.org.vlis.apm.server.search.DataSearch=ERROR(具体到类)后重启项目却发现起作用,设置成log4j.logger.org.vlis.apm.server....
  • 程序正常运行无报错,但是发现没有log日志 尝试方案:[assembly:log4net.Config.XmlConfigurator(Watch=true)] (无效) 分析思路 一、确保你已经引用log4net.dll 二、确保你项目的bin目录下有log4net.dll...
  • springboot 启动输出日志

    万次阅读 2018-10-28 17:23:29
    主要作为笔记 springboot启动不打印日志,如果不是jar冲突的情况下,那么如果你本地没有编写log的xml,可能就是被其他jar包中的log配置文件覆盖了你本地的默认的日志。 解决办法:编写自己的log.xml文件或者排除一下...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,846
精华内容 5,538
关键字:

日志突然不打印了