删除log4j的产生日志文件,对系统有影响吗?

我的疑问是:

1、系统运行正在运行中,这个时候我把log4j的产生日志文件删除了,log4j会不会再次产生日志文件?

2、日志文件删除之后,对系统的运行会产生什么样的影响?


答疑:

1、
public void debug(Object message)
{
if (this.repository.isDisabled(10000))
return;
if (Level.DEBUG.isGreaterOrEqual(getEffectiveLevel()))
forcedLog(FQCN, Level.DEBUG, message, null);
}

2、
protected void forcedLog(String fqcn, Priority level, Object message, Throwable t)
{
callAppenders(new LoggingEvent(fqcn, this, level, message, t));
}

3、
public void callAppenders(LoggingEvent event)
{
int writes = 0;

for (Category c = this; c != null; c = c.parent)
{
synchronized (c) {
if (c.aai != null) {
writes += c.aai.appendLoopOnAppenders(event);
}
if (!(c.additive)) {
break label67:
}
}
}

if (writes == 0)
label67: this.repository.emitNoAppenderWarning(this);
}

4、
public int appendLoopOnAppenders(LoggingEvent event)
{
int size = 0;

if (this.appenderList != null) {
size = this.appenderList.size();
for (int i = 0; i < size; ++i) {
Appender appender = (Appender)this.appenderList.elementAt(i);
appender.doAppend(event);
}
}
return size;
}

5、
public synchronized void doAppend(LoggingEvent event)
{
if (this.closed) {
LogLog.error("Attempted to append to closed appender named [" + this.name + "].");
return;
}

if (!(isAsSevereAsThreshold(event.getLevel()))) {
return;
}

Filter f = this.headFilter;

while (f != null) {
switch (f.decide(event))
{
case -1:
return;
case 1:
break;
case 0:
f = f.next;
}
}

append(event);
}

6、
public void append(LoggingEvent event)
{
if (!(checkEntryConditions())) {
return;
}
subAppend(event);
}

7、
protected void subAppend(LoggingEvent event)
{
this.qw.write(this.layout.format(event));

if (this.layout.ignoresThrowable()) {
String[] s = event.getThrowableStrRep();
if (s != null) {
int len = s.length;
for (int i = 0; i < len; ++i) {
this.qw.write(s[i]);
this.qw.write(Layout.LINE_SEP);
}
}
}

if (this.immediateFlush)
this.qw.flush();
}

8、
public void write(String string)
{
try {
this.out.write(string);
} catch (IOException e) {
this.errorHandler.error("Failed to write [" + string + "].", e, 1);
}
}

9、
public void error(String message, Exception e, int errorCode, LoggingEvent event)
{
if (this.firstTime) {
LogLog.error(message, e);
this.firstTime = false;
}
}

如果只是把日志文件删除了,系统还是可以自动生成的,但如果连存放日志文件的目录都删除了,就会出错,但只会第一次出错的时候在控制台打印错误日志,后续将不再打印。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值