Java log4j不在文件中写入

Java log4j不在文件中写入,java,cassandra,log4j,Java,Cassandra,Log4j,我使用ubuntu 16.04。我想在有CassandraJavaAPI的程序中编写日志文件。日志可以写在java控制台中,但不能写在文件中 我的节目: import com.datastax.driver.core.querybuilder.*; import com.datastax.driver.core.*; import com.datastax.driver.core.ResultSet; import java.io.IOException; import java.util.Ar

我使用ubuntu 16.04。我想在有CassandraJavaAPI的程序中编写日志文件。日志可以写在java控制台中,但不能写在文件中

我的节目:

import com.datastax.driver.core.querybuilder.*;
import com.datastax.driver.core.*;
import com.datastax.driver.core.ResultSet;
import java.io.IOException;
import java.util.ArrayList;
import org.apache.log4j.Logger;


public class DbAdmin {

    private Cluster cluster;
    private Session session;
    private ResultSet R;
    private int Count = 1;
    static Logger logger = Logger.getLogger(DbAdmin.class.getName());

    public DbAdmin() throws IOException {
        try {
            this.cluster = Cluster.builder().addContactPoint(address).withCredentials(authecation).build();
            this.session = cluster.connectkeyspace);
            logger.debug("Connect to database");
        } catch(Exception e){

        }
    }
以及我的log4j.properties:

    # Define the root logger with appender file
log = /home/sah/log4j
log4j.rootLogger = DEBUG, FILE

# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/g.log

# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m

将slf4j.properties重命名为log4j.properties作为log4j默认情况下在类路径中搜索名为log4j.properties的文件。如果要使用不同的名称,则需要使用org.apache.log4j.PropertyConfigurator显式配置属性文件。

如果log4j找不到log4j.properties,它将使用默认的log4j.properties,该属性只有控制台appender。因此,控制台输出并不意味着您正确地记录了4j.properties

您提供的log4j.properties的内容是正确的。 因此,您需要检查log4j.properties是否在类路径中,并且是否具有将日志写入文件的权限

您还可以通过代码显式配置log4j.properties。
PropertyConfigurator.configure(…)

很抱歉是log4j.properties.i编辑问题@abhisrivastava24您的log4j配置似乎很好。检查日志文件夹${log}的权限。您的程序是否可以写入日志文件夹中的文件。另一个简单程序可以写入同一个文件@abhisrivastava24这是log4j.properties的路径。我怎样才能检查premision@Begginghards-al/home/sah/log4j您使用IDEA运行应用程序吗?还有运行包罐吗?我使用intellij、maven和cassandra@begginghardI很抱歉我帮不了你。你有电子邮件吗,给我发更多的信息?