It is possible. Here's what's happening:
the logs are being sent over the network as defined by this command:
destination d_abc { udp( "1.2.3.4" port(514); facility (local7)); };
the receiving syslog-ng server is catching it with this source:
source s_net { udp(); };
We know that the logs are going to syslog.log, which means that it's hitting this command:
log { source ( s_net); filter (f_syslog); destination ( d_syslog ); };
which tells us this the logs are tripping this filter:
filter_f_syslog { facility (syslog); };
It might be a good idea to start basic on the 1.2.3.4 server with something like this:
options {
keep_hostname(yes);
use_dns(yes);
dns_cache(yes);
create_dirs(yes);
time_reopen(10);
log_fifo_size(100);
use_fqdn(no);
perm(0644);
dir_perm(0755);
chain_hostnames(no);
};
# Source definitions
source s_net { udp(); };
# Destination
destination d_abclog { file ("/server/$HOST/$YEAR/$MONTH/$DAY/abc.log"); };
# Filter definitions
filter f_local7{facility(local7);};
log { source ( s_net); filter (f_local7); destination (d_abclog); };
See if you can get that to work. If it does work, we can add back the other pieces one at a time until we see where it is breaking.
If it doesn't work, then we can try something even more basic:
options {
keep_hostname(yes);
use_dns(yes);
dns_cache(yes);
create_dirs(yes);
time_reopen(10);
log_fifo_size(100);
use_fqdn(no);
perm(0644);
dir_perm(0755);
chain_hostnames(no);
};
# Source definitions
source s_net { udp(); };
# Destination
destination d_abclog { file ("/server/$HOST/$YEAR/$MONTH/$DAY/abc.log"); };
# Filter definitions
log { source ( s_net); destination (d_abclog); };
I would be shocked if that did not work.