小编Sha*_*ain的帖子

错误:使用log4j时"setFile(null,false)调用失败"

log4j.properties在项目的源文件夹中添加了文件,但我仍然收到log4j:错误.

这是我的Log4j.properties文件:

    .rootCategory=DEBUG, R, O
    # Stdout
    log4j.appender.O=org.apache.log4j.ConsoleAppender
    log4j.appender.O=log44j.log
    # File
    log4j.appender.R=org.apache.log4j.RollingFileAppender
    log4j.appender.R.File=log4j.log

    # Control the maximum log file size
    log4j.appender.R.MaxFileSize=100KB

    # Archive log files (one backup file here)
    log4j.appender.R.MaxBackupIndex=1

    log4j.appender.R.layout=org.apache.log4j.PatternLayout
    log4j.appender.O.layout=org.apache.log4j.PatternLayout

    log4j.appender.R.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n
    log4j.appender.O.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n

    # Define the root logger with appender file
    logDir = ../logs
    log4j.rootLogger = DEBUG, FILE

    # Define the file appender
    log4j.appender.FILE=org.apache.log4j.FileAppender
    log4j.appender.FILE.File=logs/${file.name}
    log4j.appender.FILE.Append=false

    # Define the layout for file appender
    log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.FILE.layout.conversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n …
Run Code Online (Sandbox Code Playgroud)

java logging log4j file

30
推荐指数
3
解决办法
10万
查看次数

如果基类析构函数是虚拟的,是否需要派生类析构函数定义?

我正在尝试以下示例:

class base // base class
{
public:
    std::list<base*> values;
    base(){}
    void initialize(base *b) {
        values.push_front(b);
    }
    virtual ~base()
    {
        values.clear();
        cout<<"base called"<<endl;
    }
};

class derived : public base // derived class
{
public:
    ~derived(){
        cout<<"derived called"<<endl;
    }

};

int main()
{
    derived *d = new derived;
    base *b = new base;
    b->initialize(static_cast<base *>(d)); /* filling list */
    delete b;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Q.1)为什么不调用派生类的析构函数,就像我在执行的基类析构函数一样values.clear()

Q.2)如果基类析构函数是虚拟的,是否需要派生类析构函数定义?

c++ virtual-destructor

4
推荐指数
1
解决办法
3754
查看次数

在构造函数中记录this的值是否安全

我正在跟踪构造函数及其被破坏的实例,为此我计划在构造函数和析构函数中记录"this"的值.我不知道在构造函数中记录"this"的值是否安全.如果它不安全那么我不想知道它会失败的情况?

c++ constructor this

1
推荐指数
1
解决办法
228
查看次数

标签 统计

c++ ×2

constructor ×1

file ×1

java ×1

log4j ×1

logging ×1

this ×1

virtual-destructor ×1