LOG4J错误

2024-12-21 17:08:29
推荐回答(3个)
回答1:

你的log4j配置的是将日记信息 通过socket方式写到 本地4445端口,而你本地没有开启一个socket服务器来接收信息。
解决方法:
1.开启本地socket:新建一个类:
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class Test
{
public static void main(String[] args)
{
ServerSocket serverSocket;
try {
serverSocket = new ServerSocket(4445);
} catch (IOException e1) {
e1.printStackTrace();
return;
}
while(true){
try {
Socket socket = serverSocket.accept();
System.out.println("一个客户端连接上!");
//do some thing
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

2.如果没有必要通过socket来记录这个日志信息,建议采用文件的方式,将配置文件改为:
log4j.rootLogger=DEBUG, SOCKET

log4j.appender.SOCKET=org.apache.log4j.FileAppender
log4j.appender.SOCKET.file="D:\\log.txt"
log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout log4j.appender.SOCKET.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss}:%p %t %c - %m%n

回答2:

1、下载SLF4J对应的版本的log4j包,
2、若仍有问题,尝试不同版本的log4j。
3、若仍出现:
log4j:WARN No appenders could be found for logger (org.apache.mina.filter.logging.LoggingFilter).log4j:WARN Please initialize the log4j system properly.log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
则去掉提示。

回答3:

有两个可能
1.log服务器没有打开或者端口被占用
2.防火墙阻挡