@@ -16,41 +16,21 @@ limitations under the License.
1616
1717use core:: ffi:: c_char;
1818
19- /// C-compatible log level enum
20- #[ repr( C ) ]
21- #[ derive( Debug , Copy , Clone , PartialEq , Eq ) ]
22- pub enum Level {
23- Error = 1 ,
24- Warn = 2 ,
25- Info = 3 ,
26- Debug = 4 ,
27- Trace = 5 ,
28- }
29-
30- impl From < Level > for tracing:: log:: Level {
31- fn from ( level : Level ) -> Self {
32- match level {
33- Level :: Error => tracing:: log:: Level :: Error ,
34- Level :: Warn => tracing:: log:: Level :: Warn ,
35- Level :: Info => tracing:: log:: Level :: Info ,
36- Level :: Debug => tracing:: log:: Level :: Debug ,
37- Level :: Trace => tracing:: log:: Level :: Trace ,
38- }
39- }
40- }
41-
4219#[ unsafe( no_mangle) ]
43- pub extern "C" fn hl_log ( level : Level , message : * const c_char , line : i32 , file : * const c_char ) {
44- let log_level: tracing:: log:: Level = level. into ( ) ;
45-
46- if tracing:: log:: log_enabled!( log_level) {
20+ pub extern "C" fn hl_log (
21+ level : log:: Level ,
22+ message : * const c_char ,
23+ line : i32 ,
24+ file : * const c_char ,
25+ ) {
26+ if log:: log_enabled!( level) {
4727 let message = unsafe { core:: ffi:: CStr :: from_ptr ( message) . to_string_lossy ( ) } ;
4828 let file = unsafe { core:: ffi:: CStr :: from_ptr ( file) . to_string_lossy ( ) } ;
4929
50- tracing :: log:: logger ( ) . log (
51- & tracing :: log:: RecordBuilder :: new ( )
52- . args ( format_args ! ( "{}: {}" , log_level , message) )
53- . level ( log_level )
30+ log:: logger ( ) . log (
31+ & log:: RecordBuilder :: new ( )
32+ . args ( format_args ! ( "{}: {}" , level , message) )
33+ . level ( level )
5434 . line ( Some ( line as u32 ) )
5535 . file ( Some ( & file) )
5636 . build ( ) ,
0 commit comments