If you want to ship messages with embedded LF in them, you can use octet-counted framing, which solves that problem. It's optional in rsyslog and turned off by default as most syslogd's do not understand it.
HTH Rainer On Mon, Sep 2, 2013 at 8:56 AM, Radu Gheorghe <[email protected]>wrote: > Hello, > > AFAIK this is a design flaw of syslog over TCP (at least the RFC 3164). > Because log lines sent over TCP are delimited by a new line. > > So far I've sent multi-line logs successfully via UDP, by disabling control > character escaping on the receiving end: > http://www.rsyslog.com/doc/rsconf1_escapecontrolcharactersonreceive.html > > But other options should also work. I didn't test them all, but this thread > might give you the pointers you need: > http://www.gossamer-threads.com/lists/rsyslog/users/9619 > > Best regards, > Radu > > > 2013/9/2 Bijohn Bijohn <[email protected]> > > > Hi, > > > > I am using rsyslog to ship logs to centralized log server. Having *issues > > with logs having more than one line*. > > > > Tried $InputFileReadMode 1 in client. > > --- If I send logs to a centralized log server, it will send the first > line > > only. All the other lines are ignored. > > --- If I write logs to another file in same client machine, it appends > > time stamp to first line but, *still the log is multi-line. I believe it > > should be a one liner here escaping new line char.* > > > > client version : rsyslogd 5.8.6 > > Server version: rsyslogd 5.8.11 > > > > > > *My client config:* > > $ModLoad imfile > > $InputFileName /tmp/ne.error.log > > $InputFileTag test.ne.ne-error > > $InputFileStateFile test.ne.ne-error > > $InputFileReadMode 1 > > $InputRunFileMonitor > > if $syslogtag == 'test.ne.ne-error' then @@172.17.7.9:514 > > #& ~ > > if $syslogtag == 'test.ne.ne-error' then /tmp/ne.error.new > > & ~ > > > > *My server (*172.17.7.9*) config:* > > $template test.ne.ne-error,"/tmp/ne-test.log" > > if $syslogtag == 'test.ne.ne-error' then ?test.ne.ne-error > > & ~ > > > > Please point out if I am doing anything wrong. > > > > -------------------- > > > > Tried with following as log: > > Newline 1 > > test1 > > test2 > > test3 > > > > Newline 2 > > test4 > > test5 > > > > ------------------ > > > > In same server, syslog write it as: > > > > Aug 30 17:47:50 myhost test.ne.ne-error Newline 1 > > test1 > > test2 > > test3 > > Aug 30 17:47:50 myhost test.ne.ne-error Newline 2 > > test4 > > test5 > > > > -------------------- > > > > In remote log server it was like this: > > Aug 30 17:47:50 myhost test.ne.ne-error Newline 1 > > Aug 30 17:47:50 myhost test.ne.ne-error Newline 2 > > _______________________________________________ > > rsyslog mailing list > > http://lists.adiscon.net/mailman/listinfo/rsyslog > > http://www.rsyslog.com/professional-services/ > > What's up with rsyslog? Follow https://twitter.com/rgerhards > > NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad > > of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you > > DON'T LIKE THAT. > > > _______________________________________________ > rsyslog mailing list > http://lists.adiscon.net/mailman/listinfo/rsyslog > http://www.rsyslog.com/professional-services/ > What's up with rsyslog? Follow https://twitter.com/rgerhards > NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad > of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you > DON'T LIKE THAT. > _______________________________________________ rsyslog mailing list http://lists.adiscon.net/mailman/listinfo/rsyslog http://www.rsyslog.com/professional-services/ What's up with rsyslog? Follow https://twitter.com/rgerhards NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE THAT.

