private void MainWindowInitialized(object sender, EventArgs e) { // Set Log Target // https://nlog.codeplex.com/workitem/6272 /*var target = new WpfRichTextBoxTarget * { * Name = ConsoleTargetName, * Layout = "${time:}|${threadid:padding=3}|${level:uppercase=true:padding=-5}|${logger:padding=-15}|${message}|${exception}", * ControlName = TextLog.Name, * FormName = Name, * AutoScroll = true, * MaxLines = 100000, * UseDefaultRowColoringRules = true * }; * _wrapper = new AsyncTargetWrapper * { * Name = ConsoleTargetName, * WrappedTarget = target * };*/ //SimpleConfigurator.ConfigureForTargetLogging(_wrapper, LogLevel.Trace); this.TextLog.Document.PageWidth = 1000; this.Dispatcher.Invoke( () => { var target = new WpfRichTextBoxTarget { Name = "RichText", Layout = //"[${longdate:useUTC=false}] :: [${level:uppercase=true}] :: ${logger}:${callsite} :: ${message} ${exception:innerFormat=tostring:maxInnerExceptionLevel=10:separator=,:format=tostring}", "${date:format=MM-dd-yyyy HH\\:mm\\:ss} [${uppercase:${level}}] ${message}", ControlName = this.TextLog.Name, FormName = this.GetType().Name, AutoScroll = true, MaxLines = 100000, UseDefaultRowColoringRules = true }; var asyncWrapper = new AsyncTargetWrapper { Name = "RichTextAsync", WrappedTarget = target }; LogManager.Configuration.AddTarget(asyncWrapper.Name, asyncWrapper); LogManager.Configuration.LoggingRules.Insert(0, new LoggingRule("*", LogLevel.Debug, asyncWrapper)); LogManager.ReconfigExistingLoggers(); }); /*Logger.Log(LogLevel.Info, "The time is: {0}", DateTime.Now); * Logger.Log(LogLevel.Error, "The time is: {0}", DateTime.Now); * Logger.Log(LogLevel.Debug, "The time is: {0}", DateTime.Now); * Logger.Log(LogLevel.Trace, "The time is: {0}", DateTime.Now); * Logger.Log(LogLevel.Warn, "The time is: {0}", DateTime.Now); * //Logger.Log(LogLevel.Off, "The time is: {0}", DateTime.Now);*/ this.Logger.Info(string.Format("The time is: {0}", DateTime.Now)); this.Logger.Error(string.Format("The time is: {0}", DateTime.Now)); this.Logger.Debug(string.Format("The time is: {0}", DateTime.Now)); this.Logger.Warn(string.Format("The time is: {0}", DateTime.Now)); //Logger.Log(LogLevel.Off, "The time is: {0}", DateTime.Now); }
public void InitLogger() { // Step 1. Create configuration object LoggingConfiguration logConfig = new LoggingConfiguration(); // Step 2. Create targets and add them to the configuration var target = new WpfRichTextBoxTarget(); logConfig.AddTarget("RichTextBox", target); target.FormName = "ConverterWindow"; target.ControlName = "loggingBox"; FileTarget fileTarget = new FileTarget(); logConfig.AddTarget("logFile", fileTarget); // Step 3. Set target properties target.Layout = "${longdate:useUTC=true}|${level:uppercase=true}|${logger}::${message}"; target.AutoScroll = true; target.MaxLines = 100000; target.UseDefaultRowColoringRules = true; fileTarget.FileName = "C:\\temp\\NanoScopy.log.txt"; fileTarget.Layout = "${longdate:useUTC=true}|${level:uppercase=true}|${logger}::${message}"; fileTarget.ArchiveAboveSize = 10000; // Step 4. Define rules LoggingRule ruleRichTextBox = new LoggingRule("*", LogLevel.Trace, target); logConfig.LoggingRules.Add(ruleRichTextBox); LoggingRule ruleFile = new LoggingRule("*", LogLevel.Info, fileTarget); logConfig.LoggingRules.Add(ruleFile); // Step 5. Activate the configuration LogManager.Configuration = logConfig; }
public static Target GetConsoleTarget(string consoleTargetName, RichTextBox richTextBoxName, string formName) { var target = new WpfRichTextBoxTarget(richTextBoxName) { Name = consoleTargetName, Layout = " ${counter} | ${time:} | ${level:uppercase=true:padding=-5} | ${message} ", // ControlName =richTextBoxName, FormName = formName, AutoScroll = true, MaxLines = 10, UseDefaultRowColoringRules = true }; return(target); }
public NLogManager() { LoggingConfiguration config = new LoggingConfiguration(); FileTarget fileTargetFullLog = new FileTarget(); fileTargetFullLog.FileName = CommonUtils.GetProgramDirectory() + "/Logs/${date:format=yyyy-MM-dd}/Full.log"; fileTargetFullLog.Layout = "${date:format=dd.MM.yyyy HH\\:mm\\:ss} (${level:uppercase=true}) (${logger}): ${message} ${exception:format=ToString}"; fileTargetFullLog.AutoFlush = true; config.AddTarget("fullLog", fileTargetFullLog); LoggingRule fullLogRule = new LoggingRule("*", LogLevel.Trace, fileTargetFullLog); config.LoggingRules.Add(fullLogRule); FileTarget fileTargetShortLog = new FileTarget(); fileTargetShortLog.FileName = CommonUtils.GetProgramDirectory() + "/Logs/${date:format=yyyy-MM-dd}/Short.log"; fileTargetShortLog.Layout = "${date:format=dd.MM.yyyy HH\\:mm\\:ss} (${level:uppercase=true}): ${message}"; fileTargetShortLog.AutoFlush = true; config.AddTarget("shortLog", fileTargetShortLog); LoggingRule shortLogRule = new LoggingRule("*", LogLevel.Info, fileTargetShortLog); config.LoggingRules.Add(shortLogRule); WpfRichTextBoxTarget richTextBoxTarget = new WpfRichTextBoxTarget(); richTextBoxTarget.AutoScroll = true; richTextBoxTarget.ControlName = "richTextBoxLog"; richTextBoxTarget.FormName = "Form1"; richTextBoxTarget.UseDefaultRowColoringRules = true; richTextBoxTarget.Layout = "${date:format=dd.MM.yyyy HH\\:mm\\:ss} (${level:uppercase=true}): ${message}"; config.AddTarget("richTextBoxLog", richTextBoxTarget); LoggingRule richTextBoxLogRule = new LoggingRule("*", LogLevel.Trace, richTextBoxTarget); config.LoggingRules.Add(richTextBoxLogRule); //AsyncTargetWrapper asyncWrapper = new AsyncTargetWrapper(); //asyncWrapper.Name = "AsyncRichTextBox"; //asyncWrapper.WrappedTarget = richTextBoxTarget; //SimpleConfigurator.ConfigureForTargetLogging(asyncWrapper, LogLevel.Info); NLog.LogManager.Configuration = config; }
public MainWindow() { InitializeComponent(); Dispatcher.Invoke(() => { var target = new WpfRichTextBoxTarget { Name = "RichText", Layout = "[${longdate:useUTC=false}] : [${level:uppercase=true}] : ${message} ${exception:innerFormat=tostring:maxInnerExceptionLevel=10:separator=,:format=tostring}", ControlName = LogBox.Name, FormName = GetType().Name, AutoScroll = true, MaxLines = 100000, UseDefaultRowColoringRules = true, }; var asyncWrapper = new AsyncTargetWrapper { Name = "RichTextAsync", WrappedTarget = target }; LogManager.Configuration.AddTarget(asyncWrapper.Name, asyncWrapper); LogManager.Configuration.LoggingRules.Insert(0, new LoggingRule("*", LogLevel.Info, asyncWrapper)); LogManager.ReconfigExistingLoggers(); }); DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer(); dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick); dispatcherTimer.Interval = new TimeSpan(0, 0, 1); dispatcherTimer.Start(); int bitness; if (Environment.Is64BitProcess) { bitness = 64; } else { bitness = 32; } string aa = "Double Pulsar Detection Tool"; string myname = $"{aa} - v{Assembly.GetExecutingAssembly().GetName().Version.ToString()} {bitness}bits"; this.Title = myname; _l.Info("Ready"); }
private void InitUILogging(LogLevel logLevel) { // log layout format var layout = "${message} ${exception:separator=\r\n:format=message,type,method,stackTrace:maxInnerExceptionLevel=10:innerExceptionSeparator=\r\n:innerFormat=message,type,method,stackTrace}"; // create rich text box target var uiTarget = new WpfRichTextBoxTarget { Layout = layout, TargetRichTextBox = loggerTextBox, UseDefaultRowColoringRules = true, AutoScroll = true, MaxLines = 250, }; var config = LogManager.Configuration ?? new LoggingConfiguration(); config.AddTarget("UI", uiTarget); config.LoggingRules.Add(new LoggingRule("*", logLevel, uiTarget.WrapAsync())); LogManager.Configuration = config; }
private void InitializeLog() { var target = new WpfRichTextBoxTarget(Color.FromRgb(0, 0, 0)) { Name = "console", Layout = "${message}", ControlName = LogRitchTextBox.Name, FormName = Name, AutoScroll = true, MaxLines = 100000, UseDefaultRowColoringRules = true }; var asyncWrapper = new AsyncTargetWrapper { Name = "console", WrappedTarget = target }; SimpleConfigurator.ConfigureForTargetLogging(asyncWrapper, NLog.LogLevel.Debug); LogManager.Default = new NLogManager(); }
//public static string GetFSLoc() //{ // return ADOU.Text; //} void MainWindow_Loaded(object sender, RoutedEventArgs e) { Dispatcher.Invoke(() => { var target = new WpfRichTextBoxTarget { Name = "RichText", Layout = "[${date:useUTC=false}] :: [${level:uppercase=true}]:: ${message} ${exception:innerFormat=tostring:maxInnerExceptionLevel=10:separator=,:format=tostring}", ControlName = RichLog.Name, FormName = GetType().Name, AutoScroll = true, MaxLines = 100000, UseDefaultRowColoringRules = true, }; var asyncWrapper = new AsyncTargetWrapper { Name = "RichTextAsync", WrappedTarget = target }; LogManager.Configuration.AddTarget(asyncWrapper.Name, asyncWrapper); LogManager.Configuration.LoggingRules.Insert(0, new LoggingRule("*", LogLevel.Debug, asyncWrapper)); LogManager.ReconfigExistingLoggers(); }); }
/* Window load event */ private void MainWindow_Loaded(object sender, RoutedEventArgs e) { Dispatcher.Invoke(() => { ((Paragraph)xaml_LogRichBox.Document.Blocks.FirstBlock).LineHeight = 3; var target = new WpfRichTextBoxTarget { Name = "RichText", Layout = @"[${level:uppercase=true}] :: ${callsite:className=true:fileName=false:includeSourcePath=false:methodName=false:cleanNamesOfAnonymousDelegates=false} :: ${message} ${exception:innerFormat=tostring:maxInnerExceptionLevel=10:separator=,:format=tostring}", ControlName = xaml_LogRichBox.Name, FormName = GetType().Name, AutoScroll = true, MaxLines = 100000, UseDefaultRowColoringRules = false, }; var asyncWrapper = new AsyncTargetWrapper { Name = "RichTextAsync", WrappedTarget = target }; target.RowColoringRules.Clear(); target.RowColoringRules.Add(new WpfRichTextBoxRowColoringRule("level == LogLevel.Fatal", "White", "Red", FontStyles.Normal, FontWeights.Bold)); target.RowColoringRules.Add(new WpfRichTextBoxRowColoringRule("level == LogLevel.Error", "Red", "Transparent", FontStyles.Italic, FontWeights.Bold)); target.RowColoringRules.Add(new WpfRichTextBoxRowColoringRule("level == LogLevel.Warn", "Orange", "Transparent")); target.RowColoringRules.Add(new WpfRichTextBoxRowColoringRule("level == LogLevel.Info", "Black", "Transparent")); target.RowColoringRules.Add(new WpfRichTextBoxRowColoringRule("level == LogLevel.Debug", "Gray", "Transparent")); target.RowColoringRules.Add(new WpfRichTextBoxRowColoringRule("level == LogLevel.Trace", "White", "Transparent", FontStyles.Normal, FontWeights.Normal)); var cpuLogTarget = new FileTarget(); cpuLogTarget.Name = "instTraceFile"; cpuLogTarget.Layout = "${message}"; cpuLogTarget.FileName = "${basedir}/logs/cpuTrace.txt"; cpuLogTarget.KeepFileOpen = false; cpuLogTarget.DeleteOldFileOnStartup = true; cpuLogTarget.Encoding = Encoding.ASCII; LogManager.Configuration.AddTarget(asyncWrapper.Name, asyncWrapper); LogManager.Configuration.AddTarget(cpuLogTarget.Name, cpuLogTarget); var cpulogrule = new LoggingRule("Soft64.MipsR4300.Interpreter", LogLevel.Trace, cpuLogTarget); cpulogrule.Final = true; LogManager.Configuration.LoggingRules.Add(cpulogrule); LogManager.Configuration.LoggingRules.Add(new LoggingRule("*", LogLevel.Trace, asyncWrapper)); LogManager.ReconfigExistingLoggers(); }); }