log4j:错误setFile(null,true)调用失败。java.io.FileNotFoundException:log.txt(权限被拒绝)
在eclipse和SpringMVC的动态web项目中,使用log4j-1.2.15.jar创建日志文件,但是我得到了我在标题中提到的错误。 我还在eclipse中使用非web库log4j-1.2.16.jar创建了一个java项目,这是denid在我创建日志文件后第一次给我权限错误log4j:错误setFile(null,true)调用失败。java.io.FileNotFoundException:log.txt(权限被拒绝),java,eclipse,spring-mvc,logging,Java,Eclipse,Spring Mvc,Logging,在eclipse和SpringMVC的动态web项目中,使用log4j-1.2.15.jar创建日志文件,但是我得到了我在标题中提到的错误。 我还在eclipse中使用非web库log4j-1.2.16.jar创建了一个java项目,这是denid在我创建日志文件后第一次给我权限错误 log4j.properties log4j.rootLogger=DEBUG, A1 log4j.appender.A1=org.apache.log4j.FileAppender log4j.appender
log4j.properties
log4j.rootLogger=DEBUG, A1
log4j.appender.A1=org.apache.log4j.FileAppender
log4j.appender.A1.File=log.txt
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
package Log;
import java.util.Scanner;
import org.apache.log4j.Logger;
public class LoggingTrial
{
private static final Logger logger = Logger.getLogger(LoggingTrial.class);
private static double cambio;
private static double euro;
private static double dollars;
private static boolean sw;
public static void logging()
{
if (logger.isDebugEnabled())
{
logger.debug("main(String[]) - Avvio");
}
sw = false;
logger.info("Tasso di conversione: " );
while (!sw)
{
logger.info("Valore in dollari: " );
sw = true;
}
if (logger.isDebugEnabled())
{
logger.debug("main(String[]) - Fine");
}
}
}
我认为你的应用程序无法写入“日志”文件夹。与log4j配置本身无关。
如果该文件夹不存在,请创建该文件夹,并为其授予足够的权限,以便web应用程序写入该文件夹。我应在何处创建该文件夹。对于ubuntu,我有一个问题,终端也可以从GUI设置权限,我看到我可以这样做。将属性文件路径放在cmd行中,这样:-Dlog4j.configuration=(例如:log4j.properties)我在文件中解决了这个问题。我在一篇关于如何将log4j与springmvc集成的文章中发现的不同指令的属性。我不知道它是否与该文件前面的指令工作相同。通过指定包含日志的文件夹的路径,可以获得更好的属性