用log4j像centOS服务器写rsyslog,写不进去,好像是没连接上,求高手。
首先linux是装在虚拟机上的,我用ifconfig命令看了一下,ip是127.0.0.1.
服务器应该是配置好了,因为在终端写命令local2.info "333",可以写入到新建的log文件里 。
但是用java程序就没反应。
log4j.properties是这样的
log4j.rootLogger=INFO
log4j.appender.syslog=org.apache.log4j.net.SyslogAppender
log4j.appender.syslog.SyslogHost=127.0.0.1
log4j.appender.syslog.Threshold=INFO
log4j.appender.syslog.layout=org.apache.log4j.PatternLayout
log4j.appender.syslog.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
log4j.appender.syslog.Header=true
log4j.appender.syslog.Facility=local2
public class Logger {
private Log log = null;
private Logger(Class<?> clazz) {
if (this.log == null) {
PropertyConfigurator.configure(“log4j.properties”);
}
this.log = LogFactory.getLog(clazz);
}
}
public static void main(String[] args) {
private static final Logger LOG = Logger.getLogger(myclass.class);
LOG.info("111: 111");
LOG.info("222: 222");
LOG.info("333: 333");
}
public class CopyOftest {
/**
* @param args
* @throws URISyntaxException
* @throws IOException
* @throws ClientProtocolException
* @throws JAXBException
* @throws IllegalStateException
*/
public static void main(String[] args) throws URISyntaxException, ClientProtocolException, IOException, IllegalStateException, JAXBException {
// TODO Auto-generated method stub
SshClient client = new SshClient();
client.connect("127.0.0.1", 514);// 走这一步出错了,说没有这个host,怎么可能呢?为什么呀?
PasswordAuthenticationClient pwd = new PasswordAuthenticationClient();
pwd.setUsername("root");
pwd.setPassword("root");
int result = client.authenticate(pwd);
if (result == AuthenticationProtocolState.COMPLETE) {
List<SftpFile> list = client.openSftpClient().ls("./Desktop/hehe");
for (SftpFile f : list) {
System.out.println(f.getFilename());
System.out.println(f.getAbsolutePath());
}
}
}
}
log4j 服务器 centos syslog
[解决办法]
127.0.0.1是默认的本机地址,等同于localhost
[解决办法]
虚拟机的地址一般不会是这个的
[解决办法]
用户的ssh那个jar包,你测试代码是远程访问还是本地访问,感觉你用法有问题
[解决办法]
你用ifconfig -a看看是否有eth0,如果有但是没有配IP,你要手工编辑一下/etc/sysconfig/network-script/ifcfg-eth0,配置好IP并设置为启用,然后service network restart重启服务。然后用你的程序连你刚刚配置好的IP