微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Linux系统上记录速度错误

当实现VeLocity时,我得到了这个错误(仅发布了“由”引起的“消息”):

java.lang.RuntimeException: VeLocity Could not be initialized!
Caused by: org.apache.veLocity.exception.VeLocityException: Error initializing log: Failed to initialize an instance of org.apache.veLocity.runtime.log.Log4JLogChute with the current runtime configuration.
Caused by: org.apache.veLocity.exception.VeLocityException: Failed to initialize an instance of org.apache.veLocity.runtime.log.Log4JLogChute with the current runtime configuration.
Caused by: java.lang.RuntimeException: Error configuring Log4JLogChute : 
Caused by: java.io.FileNotFoundException: veLocity.log (Permission denied)

这是我的代码片段:

    VeLocityEngine ve = new VeLocityEngine();
    ve.evaluate(context,writer,"org.apache.veLocity.runtime.log.NullLogChute",this.templateString);

起初我的代码看起来像这样:

runtimeServices = RuntimeSingleton.getRuntimeServices();
node = runtimeServices.parse(reader,templateName);

在我的Windows机器上它工作正常,但在Linux系统(ubuntu 10.04)上它不起作用.这个post对我帮助不大,因为我没有找到任何线索,我必须给出写权限.

我发现,以下代码也适用于Linux机器:

String logPath = request.getRealPath("/veLocity.log");
RuntimeSingleton.setProperty( RuntimeConstants.RUNTIME_LOG,logPath );
runtimeServices = RuntimeSingleton.getRuntimeServices();
node = runtimeServices.parse(reader,templateName);

这不是一个非常好的解决方案,因为我无法确定,如果我对我的真实上下文路径有写权限.最好的是,只关闭VeLocity的记录.

我必须设置哪些不同的日志配置? NullLogChute是不工作还是我使用它不合适?

提前致谢!

最佳答案
嗨问题是在写入权限受保护的fs上.
你的堆栈跟踪实际上你有:

java.io.FileNotFoundException: veLocity.log (Permission denied)

因此,确定速度记录的写入位置是好事.
你说一个好词,你不知道在生产中你是否可以写一个特定的路径.
因此,最好将该路径放在sysadmin可以根据需要修改属性文件中.

如果可以帮到你,请检查我对另一篇文章的回答.

链接here

原文地址:https://www.jb51.cc/linux/440848.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐