ubuntu tomcat服务器上的log4j日志文件问题,问题记录及解决

当我在弄项目的时候,偶然间弄到了一个东西在我本地跑没问题,但是在我tomcat服务器上跑就不好用,因此我就想用项目中的log4j的日志来看一下,时不时的输出一下看我这个服务是哪里有的问题。

1.首先先看一下log4j在我这个springMVC中的配置方法,之前跟着demo一起配置的log4j但是我都没用过,所以这边找一下。

首先这个log4j.properties中肯定是用来存放配置信息,网上还有说用xml文件配置的,我这个不是,我这个是用properties配置的。

jar包应该是这些了,但我感觉我没用全。接下来是log4j配置文件

log4j.rootLogger=INFO,Console,File

#控制台日志
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%p][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n

#普通文件日志
log4j.appender.File=org.apache.log4j.RollingFileAppender
log4j.appender.File.File=logs/ssm.log
log4j.appender.File.MaxFileSize=10MB
#输出日志,如果换成DEBUG表示输出DEBUG以上级别日志
log4j.appender.File.Threshold=ALL
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=[%p][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n

这里面注意这个“log4j.appender.File.File=logs/ssm.log“这个应该是地址。

2.然后我就试验一下。参照使用方法写个测试类

package ssm.controller;

import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping(value = "testC")
public class TestController {

    private static Logger logger = Logger.getLogger(TestController.class);

    @RequestMapping(value = "test")
    public void test(){
        logger.info("this is a test");
        System.out.println("this is a test");
    }

}

程序跑起来之后,直接用浏览器访问localhost:8080/项目名/testC/test

然后再tomcat里找这个ssm.log文件,果然被我给找到了


根据这个地址的写法,它再我tomcat目录下bin文件夹中建了文件夹和文件。打开看看

[INFO][localhost-startStop-1][2018-05-04 15:51:04][org.hibernate.validator.internal.util.Version] - HV000001: Hibernate Validator 5.3.6.Final

[INFO][http-apr-8080-exec-5][2018-05-04 15:51:26][ssm.controller.TestController] - this is a test

果然是有,这就说明在本机跑没什么问题了。

但是当我把项目放到服务器上,则出现了问题:在服务器上我跑了之后,并没有ssm.log文件的生成,当然我感觉是路径的问题,于是我把"log4j.appender.File.File=logs/ssm.log"路径给改成"log4j.appender.File.File=/opt/tomcat/syslog/ssm.log"这样的服务器路径地址,但还是没有文件生成。

分析:问题可能不单单是路径的问题,还有可能是因为文件夹权限的问题。

于是就把路径的文件夹给建出来试试看

mkdir syslog

chmod 777 syslog

然后我搜索发现,在我本机跑得时候输出的日志什么的,在服务器上不是新建文件进行log记录的,tomcat在ubuntu上统一把记录记在catalina.out中,在这个文件翻到最后,就发现了日志记录的内容,因为我要看日志记录进行调试,所以算是满足了我的要求了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值