@@ -64,3 +64,44 @@ def test_custom_fmt(self):
64
64
self .assertTrue ('name' in data [0 ][2 ])
65
65
self .assertEqual ('fluent.test' , data [0 ][2 ]['name' ])
66
66
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