input {
beats {
port => 5044
}
}
output {
file {
path => "/var/www/html/logs/%{host}/%{+YYYY-MM-dd}"
codec => line { format => "%{message}" }
}
}
Modified to utilize directory of same name as existing file.
input {
beats {
port => 5044
}
}
output {
file {
path => "/var/www/html/logs/%{host}/%{+YYYY-MM-dd}/%{source}"
codec => line { format => "%{message}" }
}
}
Steps to Reproduce:
Write out a file with the file plugin. Then adjust the configuration for Logstash to attempt to create a directory with the same name as the log file that was created previously.
Logstash appears to exit with the following info. Expected situation would be to throw an error on the console, but not exit the process.
Errno::EEXIST: File exists - /var/www/html/logs/nfvsdn-06/2016-06-30
mkdir at org/jruby/RubyDir.java:458
fu_mkdir at /opt/logstash/vendor/jruby/lib/ruby/1.9/fileutils.rb:247
mkdir_p at /opt/logstash/vendor/jruby/lib/ruby/1.9/fileutils.rb:221
reverse_each at org/jruby/RubyArray.java:1693
mkdir_p at /opt/logstash/vendor/jruby/lib/ruby/1.9/fileutils.rb:219
each at org/jruby/RubyArray.java:1613
mkdir_p at /opt/logstash/vendor/jruby/lib/ruby/1.9/fileutils.rb:205
open at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-file-2.2.5/lib/logstash/outputs/file.rb:253
write_event at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-file-2.2.5/lib/logstash/outputs/file.rb:162
call at org/jruby/RubyProc.java:281
encode at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-codec-line-2.1.2/lib/logstash/codecs/line.rb:54
receive at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-file-2.2.5/lib/logstash/outputs/file.rb:129
multi_receive at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.3-java/lib/logstash/outputs/base.rb:83
each at org/jruby/RubyArray.java:1613
multi_receive at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.3-java/lib/logstash/outputs/base.rb:83
worker_multi_receive at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.3-java/lib/logstash/output_delegator.rb:130
multi_receive at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.3-java/lib/logstash/output_delegator.rb:114
output_batch at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.3-java/lib/logstash/pipeline.rb:301
each at org/jruby/RubyHash.java:1342
output_batch at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.3-java/lib/logstash/pipeline.rb:301
worker_loop at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.3-java/lib/logstash/pipeline.rb:232
start_workers at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.3-java/lib/logstash/pipeline.rb:201
From: https://github.com/elastic/logstash/issues/5577
Modified to utilize directory of same name as existing file.
Logstash appears to exit with the following info. Expected situation would be to throw an error on the console, but not exit the process.