File tree Expand file tree Collapse file tree 2 files changed +31
-2
lines changed Expand file tree Collapse file tree 2 files changed +31
-2
lines changed Original file line number Diff line number Diff line change @@ -64,7 +64,7 @@ class ReconnectError < Fluent::UnrecoverableError; end
6464 end
6565
6666 config_section :parse do
67- config_set_default :@type , 'winevt_xml '
67+ config_set_default :@type , 'windows_eventlog2_dummy '
6868 config_set_default :estimate_current_event , false
6969 end
7070
@@ -122,7 +122,12 @@ def configure(conf)
122122 @winevt_xml = false
123123 @parser = nil
124124 if @render_as_xml
125- @parser = parser_create
125+ parser_config = @parser_configs . first
126+ if parser_config [ "@type" ] == "windows_eventlog2_dummy"
127+ @parser = parser_create ( usage : "parse_xml" , type : "winevt_xml" , conf : conf . elements ( "parse" ) . first )
128+ else
129+ @parser = parser_create
130+ end
126131 @winevt_xml = @parser . respond_to? ( :winevt_xml? ) && @parser . winevt_xml?
127132 class << self
128133 alias_method :on_notify , :on_notify_xml
@@ -407,4 +412,16 @@ def to_key(key)
407412 end
408413 ####
409414 end
415+
416+ class WindowsEventLog2DummyParser < Parser
417+ Fluent ::Plugin . register_parser ( 'windows_eventlog2_dummy' , self )
418+
419+ def configure ( conf )
420+ super
421+ end
422+
423+ def parse ( text )
424+ raise NotImplementedError , "This is a dummy parser for the default setting and can not be used actually."
425+ end
426+ end
410427end
Original file line number Diff line number Diff line change @@ -176,6 +176,18 @@ def test_configure
176176 ] )
177177 end
178178 end
179+
180+ test "default parser should not be WinevtXMLparser" do
181+ # Because it is not a mandatory dependency.
182+ d = create_driver CONFIG
183+ assert_equal 1 , d . instance . _parsers . size
184+ assert_not_equal "Fluent::Plugin::WinevtXMLparser" , d . instance . _parsers . values . first . class . name
185+ end
186+
187+ test "parser should be WinevtXMLparser if render_as_xml is enabled" do
188+ d = create_driver XML_RENDERING_CONFIG
189+ assert_equal Fluent ::Plugin ::WinevtXMLparser , d . instance . instance_variable_get ( :@parser ) . class
190+ end
179191 end
180192
181193 data ( "Japanese" => [ "ja_JP" , false ] ,
You can’t perform that action at this time.
0 commit comments