public void Initialize(ModuleDeclaration module) { this.loggingImplementation = new LoggingImplementationTypeBuilder(module); this.formatWriter = new StringFormatWriter(module); this.loggerType = module.FindType(typeof(Logger)); Predicate<MethodDefDeclaration> singleMessagePredicate = method => method.Parameters.Count == 1 && IntrinsicTypeSignature.Is(method.Parameters[0].ParameterType, IntrinsicType.String); this.categoryInitializerMethod = module.FindMethod(module.FindType(typeof(LogManager)), "GetLogger", singleMessagePredicate); this.writeDebugMethod = module.FindMethod(this.loggerType, "Trace", singleMessagePredicate); this.writeInfoMethod = module.FindMethod(this.loggerType, "Info", singleMessagePredicate); this.writeWarnMethod = module.FindMethod(this.loggerType, "Warn", singleMessagePredicate); this.writeErrorMethod = module.FindMethod(this.loggerType, "Error", singleMessagePredicate); this.writeFatalMethod = module.FindMethod(this.loggerType, "Fatal", singleMessagePredicate); this.getIsTraceEnabledMethod = module.FindMethod(this.loggerType, "get_IsTraceEnabled"); this.getIsInfoEnabledMethod = module.FindMethod(this.loggerType, "get_IsInfoEnabled"); this.getIsWarnEnabledMethod = module.FindMethod(this.loggerType, "get_IsWarnEnabled"); this.getIsErrorEnabledMethod = module.FindMethod(this.loggerType, "get_IsErrorEnabled"); this.getIsFatalEnabledMethod = module.FindMethod(this.loggerType, "get_IsFatalEnabled"); }
public void Initialize(ModuleDeclaration module) { this.module = module; this.loggingImplementation = new LoggingImplementationTypeBuilder(module); this.loggerType = module.FindType(typeof(Logger)); LoggerMethodsBuilder builder = new LoggerMethodsBuilder(module, this.loggerType); this.categoryInitializerMethod = module.FindMethod(module.FindType(typeof(LogManager)), "GetLogger", method => method.Parameters.Count == 1 && IntrinsicTypeSignature.Is(method.Parameters[0].ParameterType, IntrinsicType.String) ); this.loggerMethods[LogLevel.Debug] = builder.CreateLoggerMethods("Trace"); this.loggerMethods[LogLevel.Info] = builder.CreateLoggerMethods("Info"); this.loggerMethods[LogLevel.Warning] = builder.CreateLoggerMethods("Warn"); this.loggerMethods[LogLevel.Error] = builder.CreateLoggerMethods("Error"); this.loggerMethods[LogLevel.Fatal] = builder.CreateLoggerMethods("Fatal"); }