@@ -64,3 +64,44 @@ def test_custom_fmt(self):
6464 self .assertTrue ('name' in data [0 ][2 ])
6565 self .assertEqual ('fluent.test' , data [0 ][2 ]['name' ])
6666 self .assertTrue ('lineno' in data [0 ][2 ])
67+
68+ def test_unstructured_message (self ):
69+ handler = fluent .handler .FluentHandler ('app.follow' , port = self ._port )
70+
71+ logging .basicConfig (level = logging .INFO )
72+ log = logging .getLogger ('fluent.test' )
73+ handler .setFormatter (fluent .handler .FluentRecordFormatter ())
74+ log .addHandler (handler )
75+ log .info ('hello world' )
76+ handler .close ()
77+
78+ data = self .get_data ()
79+ self .assertTrue ('message' in data [0 ][2 ])
80+ self .assertEqual ('hello world' , data [0 ][2 ]['message' ])
81+
82+ def test_non_string_simple_message (self ):
83+ handler = fluent .handler .FluentHandler ('app.follow' , port = self ._port )
84+
85+ logging .basicConfig (level = logging .INFO )
86+ log = logging .getLogger ('fluent.test' )
87+ handler .setFormatter (fluent .handler .FluentRecordFormatter ())
88+ log .addHandler (handler )
89+ log .info (42 )
90+ handler .close ()
91+
92+ data = self .get_data ()
93+ self .assertTrue ('message' in data [0 ][2 ])
94+
95+ def test_non_string_dict_message (self ):
96+ handler = fluent .handler .FluentHandler ('app.follow' , port = self ._port )
97+
98+ logging .basicConfig (level = logging .INFO )
99+ log = logging .getLogger ('fluent.test' )
100+ handler .setFormatter (fluent .handler .FluentRecordFormatter ())
101+ log .addHandler (handler )
102+ log .info ({42 : 'root' })
103+ handler .close ()
104+
105+ data = self .get_data ()
106+ # For some reason, non-string keys are ignored
107+ self .assertFalse (42 in data [0 ][2 ])
0 commit comments