protected override void Establish_context()
        {
            //Note: _log4NetInMemoryStreamAppenderManager
            //must be initialized here, otherwise the TestBase
            //constructor will reinitialize the log4net environment
            _log4NetInMemoryStreamAppenderManager =
                new Log4NetInMemoryStreamAppenderManager();

            _log.Info(_logMessage);
        }
コード例 #2
0
        public pMixinPartialCodeGeneratorResponse GeneratePartialCode(ICodeGeneratorContext codeGeneratorContext)
        {
            var stopwatch = Stopwatch.StartNew();

            try
            {
                _log.InfoFormat("GeneratePartialCode Begin [{0}]", codeGeneratorContext.Source.FileName);

                var logManager = new Log4NetInMemoryStreamAppenderManager();

                var pipelineState = new CreateCodeGenerationPipelineState(codeGeneratorContext);

                new pMixinPartialCodeGeneratorPipeline().PerformTask(pipelineState);

                return(new pMixinPartialCodeGeneratorResponse
                {
                    CodeGeneratorExecutionTime = stopwatch.Elapsed,
                    CreateCodeGeneratorPipelineState = pipelineState,
                    CodeGeneratorContext = codeGeneratorContext,
                    Errors = pipelineState.CodeGenerationErrors,
                    GeneratedCodeSyntaxTree = pipelineState.CodeBehindSyntaxTree,
                    LogMessages = logManager.GetRenderedLoggingEvents(LoggingVerbosity.All)
                });
            }
            catch (Exception e)
            {
                _log.Error(string.Format("Unhandled exception generating [{0}]: {1}",
                                         codeGeneratorContext.Source.FileName, e.Message), e);

                throw;
            }
            finally
            {
                _log.InfoFormat("GeneratePartialCode Complete [{0}] in [{1}] ms",
                                codeGeneratorContext.Source.FileName,
                                stopwatch.ElapsedMilliseconds);
            }
        }