开发者社区> 问答> 正文

log4j2 如果输出日志到web项目下?报错

如题,log4j2 如果输出日志到web项目下,根据官网文档使用

${web:rootDir}/log/rollingfile.log

但是启动时报错提示Cannot access RandomAccessFile  FileNotFoundException   文件名、目录名或卷标语法不正确,貌似${web:rootDir} 没有被正确解释称项目根目录。

http://logging.apache.org/log4j/2.x/manual/lookups.html

使用log4j2.xml 文件配置。

log4j-1.2-api-2.3.jar,log4j-api-2.3.jar,log4j-core-2.3.jar


展开
收起
爱吃鱼的程序员 2020-06-12 15:44:54 998 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    这几天刚看过,<arel="nofollow">http://logging.apache.org/log4j/2.x/manual/webapp.html输出死你<imgsrc="http://www.oschina.net/js/ke/plugins/emoticons/images/13.gif"alt=""> 换个路径比如/logs/www/xx项目/下1楼说的对为什么我看到如果就很恶心我也遇到无将日志文件输到当前工程目录下,现在有解决办法没?我也是这个问题,请问楼主解决了吗

    刚找到原因,分享下,需要修改web.xml,主要有两个地方

    1、使用servlet3及以上版本

    <preclass="brush:xml;toolbar:true;auto-links:false;"><web-appxmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0">



    2、添加context-param

    <preclass="brush:xml;toolbar:true;auto-links:false;"><context-param><param-name>log4jContextName</param-name><param-value>ktjnAPI</param-value></context-param>




    回复<aclass="referer"target="_blank">@不要这样啊喂:回复<aclass="referer"target="_blank">@不要这样啊喂:我这测试会生成到项目文件夹下,你使用的是eclipse自带的tomcat?这样可以将日志文件输出到web项目下吗,我的都是只能输出到eclipse工作空间目录下workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps

    2020-06-12 15:45:11
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载
Kubernetes下日志实时采集、存储与计算实践 立即下载
日志数据采集与分析对接 立即下载