tomcat 启动日志问题,求解 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hubin0203
V2EX    Java

tomcat 启动日志问题,求解

  •  
  •   hubin0203 2019-09-02 17:15:40 +08:00 4323 次点击
    这是一个创建于 2260 天前的主题,其中的信息可能已经有所发展或是发生改变。

    tomcat 中启动一个 java web 项目

    tomcat 启动日志不报数据库连接异常信息,是咋回事?

    数据库连接用的 dbcp,hibernate。

    场景复现:在数据库配置文件配错误的数据库连接信息,保证启动项目无法初始化数据库连接。

    启动后,启动成功,控制台没打印数据库连接异常信息。

    项目中集成 log4j,配置中设置在 debug.log 文件中打印 debug 信息。 待项目启动后,可以在 debug.log 中看到数据库连接异常信息。

    13 条回复    2019-09-03 16:30:00 +08:00
    gouzhiyuanchina
        1
    gouzhiyuanchina  
       2019-09-02 17:31:08 +08:00
    连接池的配置 是不是没配置 init 多少个 或者设置成 0 了?
    hustmisa
        2
    hustmisa  
       2019-09-02 17:38:01 +08:00
    你写的问题好难理解,尤其倒数第二句“待项目启动后,可以在 debug.log 中看到数据库连接异常信息”

    1、你配置的 log4j 日志是否可以正常输出业务日志?如果不可以先配好 log4j
    2、如果业务日志可以输出,项目启动初始化 db 的代码是否执行成功,可能根本没有初始化数据库连接池
    3、如果初始化连接池了,log4j 配置了 dbcp 的连接包名么,包名配置不正确会导致日志无法输出;估计你没配这个,连接错误日志会抛到 catalina.out 也就是控制台
    hustmisa
        3
    hustmisa  
       2019-09-02 17:38:52 +08:00
    @hustmisa 所以我倾向于第二点,连接就没初始化
    hubin0203
        4
    hubin0203  
    OP
       2019-09-02 17:43:28 +08:00 via Android
    @gouzhiyuanchina 配置没问题,如果数据库连接信息( url,库名,用户名,密码)配置正确,就连接正常,debug. log 中便不报错。
    hubin0203
        5
    hubin0203  
    OP
       2019-09-02 17:46:34 +08:00 via Android
    @hustmisa 谢谢,log4j 配置生效了,因为在 debug. log 中可以打印出异常信息,主要就是启动项目中,无论在 IDE 的 console 中还是打成 war 包扔 tomcat 中运行( Windows 环境下),cmd 的控制台中都不打印数据库连接异常信息,不知道这么说您能理解不
    hustmisa
        6
    hustmisa  
       2019-09-02 18:16:37 +08:00
    @hubin0203 嗯嗯 理解;错误连接情况下,tomcat 依旧可以启动,数据库连接的代码应该是单独一个线程吧,可以 try 这部分代码打印异常日志试试么;
    还有个想法不知道对错,dbcp 里边有 commons-logging 的 dependency,会不会你项目本身引入了不同版本 logging 的 jar 包导致冲突,日志无法打印?
    hubin0203
        7/div>
    hubin0203  
    OP
       2019-09-02 18:40:54 +08:00 via Android
    @hustmisa 嗯嗯,谢谢,改天我去试试看。因为新入职,要维护一个老项目,这个项目 maven 都没用到,改天去检查一下 jar 包,谢谢啦
    LeeSeoung
        8
    LeeSeoung  
       2019-09-02 18:43:26 +08:00
    数据库连接异常信息 是啥?能贴出来?
    hubin0203
        9
    hubin0203  
    OP
       2019-09-02 20:23:50 +08:00 via Android
    @LeeSeoung 这不重要,我随便写了个 IP,肯定连不上的,问题在于 tomcat 启动日志里没有数据库连接异常信息
    fmumu
        10
    fmumu  
       2019-09-02 20:55:33 +08:00 via Android
    日志 logAppender 有配置到 console 吗,log 配置放出来来看看
    hubin0203
        11
    hubin0203  
    OP
       2019-09-02 21:18:14 +08:00 via Android
    @fmumu 公司电脑不能连外网,回头我检查一下,谢谢
    Aresxue
        12
    Aresxue  
       2019-09-03 09:45:10 +08:00
    1.数据库在初始化的时候没有进行连接的建立;
    2.数据库连接报错了,只不过日志中没有输出;
    3.日志输出了, 只不过被 console 屏蔽掉了;
    4.console 没有屏蔽, 只是你没找到。
    401825317
        13
    401825317  
       2019-09-03 16:30:00 +08:00
    打断点
    第一打在数据库连接池,确定初始化
    第二打在连接池成功后日志输出确定使用的 log 和级别
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1111 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 17:26 PVG 01:26 LAX 09:26 JFK 12:26
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86