用log4j像centOS服务器写rsyslog,写不进去,好像是没连接上,求高手。

跳蚤图 2013-02-26 05:27:00
首先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


java代码是这样的
Logger类
  
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");
}


linux服务器上没有新加的log。

然后我想看有没有连接上服务器,就写了个测试类:
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写日志到linux服务器上 ,只是在配置文件里写个host就能连上吗?还需要别的配置吗?
...全文
352 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ff9696 2013-08-14
  • 打赏
  • 举报
回复
碰到同样问题,也写不进
跳蚤图 2013-03-14
  • 打赏
  • 举报
回复
IP应该没问题,我本机能ping通虚拟机了,虚拟机的防火墙都关了。 虚拟机配置好后 用 /usr/bin/logger –p local2.info “hello hhhh” 测试了,是好用的。 不知道为什么用log4j写不进去,不报错也没反应
跳蚤图 2013-03-14
  • 打赏
  • 举报
回复
引用 5 楼 catmao 的回复:
你用ifconfig -a看看是否有eth0,如果有但是没有配IP,你要手工编辑一下/etc/sysconfig/network-script/ifcfg-eth0,配置好IP并设置为启用,然后service network restart重启服务。然后用你的程序连你刚刚配置好的IP
是下面这样吗?IP地址写的假的 [root@nano-vm5 ~]# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:0C:29:37:A5:F9 inet addr:100.100.100.100 Bcast:10.1.129.255 Mask:255.255.254.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interrupt:18 Base address:0x2024 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:28505024 errors:0 dropped:0 overruns:0 frame:0 TX packets:28505024 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2223391620 (2.0 GiB) TX bytes:2223391620 (2.0 GiB)
catmao 2013-03-02
  • 打赏
  • 举报
回复
你用ifconfig -a看看是否有eth0,如果有但是没有配IP,你要手工编辑一下/etc/sysconfig/network-script/ifcfg-eth0,配置好IP并设置为启用,然后service network restart重启服务。然后用你的程序连你刚刚配置好的IP
xianwangkai 2013-03-01
  • 打赏
  • 举报
回复
用户的ssh那个jar包,你测试代码是远程访问还是本地访问,感觉你用法有问题
跳蚤图 2013-02-28
  • 打赏
  • 举报
回复
自己顶一下自己顶一下
GoldenDragon 2013-02-28
  • 打赏
  • 举报
回复
虚拟机的地址一般不会是这个的
GoldenDragon 2013-02-28
  • 打赏
  • 举报
回复
127.0.0.1是默认的本机地址,等同于localhost

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧