设备:树莓派
环境:linux
java环境:sdk1.8
我打算开一个主程序然后再里面用process builder建子进程去管理其他程序的运行状况。
然后我发现单独开其他程序的话log4j2是会按照我的配置把日志输出到文件里的
但是用主程序开其他程序的话,就会只输出主程序的日志,其他程序的不输出日志
然后我本想把主程序做成开机启动,于是写了个bash脚本开启主程序,把那个脚本当做服务开机启动。
然而当我用脚本启动的时候,连主程序也不输出日志了。我去baidu和谷歌都搜了。。好像都没有类似子进程的问题,只有不同进程对同一日志的记录。但是我的日志输出目录是不一样的,也不是写在同一个日志里。
在Stack Overflow上发了贴,还没有人回。
请问这个是我设置的有问题还是log4j不支持这样的日志输出方法?
有什么好办法?如果想了解详细程序内容请跟帖,先感谢各位了!

解决方案 »

  1.   

    应该是设置的问题,应该是log4j找不到配置文件了。
      

  2.   


    我的程序是maven打包的,配置文件放在jar里,应该不会找不到吧。。
      

  3.   


    我的程序是maven打包的,配置文件放在jar里,应该不会找不到吧。。
    单独启动没问题,通过别的程序启动就有问题了。很有可能在classpath里找不到logj的配置文件,所以才会出现那样的问题。只是猜想你可以从这个方面入手看看
      

  4.   

    脚本当服务启动,这个时候程序是session 0的层面,跟你直接双击启动的程序是session 1不同,服务程序的session不同,可能会影响到你的配置文件路径等。