2012-09-27 47 views
0

我試圖重寫mule啓動腳本,因此它在RHEL上作爲服務工作。騾服務啓動腳本引發與日誌文件異常

目前我主要完成了它。 它正在啓動,並且我已經將大部分日誌文件成功寫入了我想要的地方。 但有一個文件名字從字面上.log,我不知道什麼是,既不在哪裏配置(其名稱和路徑)。在

這些文件將在mule_ee.log以下討厭行啓動:

log4j:ERROR setFile(null,true) call failed. 
java.io.FileNotFoundException: .log (Permission denied) 
    at java.io.FileOutputStream.openAppend(Native Method) 
    at java.io.FileOutputStream.<init>(FileOutputStream.java:207) 
    at java.io.FileOutputStream.<init>(FileOutputStream.java:131) 
    at org.apache.log4j.FileAppender.setFile(FileAppender.java:294) 
    at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:165) 
    at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:307) 
    at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:172) 
    at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:104) 
    at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:809) 
    at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735) 
    at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:615) 
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:502) 
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:547) 
    at org.mule.module.launcher.log4j.ApplicationAwareRepositorySelector.configureFrom(ApplicationAwareRepositorySelector.java:166) 
    at org.mule.module.launcher.log4j.ApplicationAwareRepositorySelector.getLoggerRepository(ApplicationAwareRepositorySelector.java:95) 
    at org.apache.log4j.LogManager.getLoggerRepository(LogManager.java:208) 
    at org.apache.log4j.LogManager.getLogger(LogManager.java:228) 
    at org.mule.module.logging.MuleLoggerFactory.getLogger(MuleLoggerFactory.java:77) 
    at org.mule.module.logging.DispatchingLogger.getLogger(DispatchingLogger.java:419) 
    at org.mule.module.logging.DispatchingLogger.isInfoEnabled(DispatchingLogger.java:191) 
    at org.apache.commons.logging.impl.SLF4JLog.isInfoEnabled(SLF4JLog.java:78) 
    at org.mule.module.launcher.application.DefaultMuleApplication.init(DefaultMuleApplication.java:188) 
    at org.mule.module.launcher.application.PriviledgedMuleApplication.init(PriviledgedMuleApplication.java:46) 
    at org.mule.module.launcher.application.ApplicationWrapper.init(ApplicationWrapper.java:64) 
    at org.mule.module.launcher.DefaultMuleDeployer.deploy(DefaultMuleDeployer.java:46) 
    at org.mule.module.launcher.DeploymentService.guardedDeploy(DeploymentService.java:398) 
    at org.mule.module.launcher.DeploymentService.start(DeploymentService.java:181) 
    at org.mule.module.launcher.MuleContainer.start(MuleContainer.java:157) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:616) 
    at org.mule.module.reboot.MuleContainerWrapper.start(MuleContainerWrapper.java:56) 
    at org.tanukisoftware.wrapper.WrapperManager$12.run(WrapperManager.java:3925)` 

那是什麼.log文件? conf文件在哪裏設置爲在mule用戶有權寫入的地方寫入?

回答

0

.log文件似乎是從00_mmc代理應用程序。因此

的問題是在位於./apps/00_mmc-agent/classes這樣的文件的文件log4j.properties配置了以下附加器:log4j.appender.file.File=${app.name}.log${app.name}變量似乎沒有正確配置(即使不是在默認未改性騾開始腳本)。因此.log文件名。

./apps/mmc/webapps/mmc/WEB-INF/classes/log4j.properties的附加目的地配置這樣log4j.appender.R.File=${mule.home}/logs/mmc-console-app.log

所以,要解決我修改位於./apps/00_mmc-agent/classeslog4j.properties文件的附加器的啓動錯誤有這樣的路徑:

log4j.appender.file.File=${mule.home}/logs/00_mmc-agent.log

2

看來,由於操作系統權限,log4j無法找到該文件。您可以通過chmod在您的MULE_HOME目錄中添加權限。還請檢查您的log4j配置以瞭解爲什麼要嘗試讀取.log文件。

+0

權限MULE_HOME都可以,因此我可以讀取其餘的日誌文件。我不知道該文件中包含那個非描述性名稱('.log')的信息,無論它在哪裏配置。已經檢查過'log4j.propierties'配置文件。在那裏沒有發現。 –

+0

實際上,你是對的,'00_mmc-agent'的'log4j.properties'帶有一個配置的日誌文件,它不遵循其他mule應用程序中其他log4j的模式。謝謝! –