internal void Inherit(Level level, OutputType outType, ProgressOutputType progressOutType, TextWriter outputWriter) { mInheritedLevel = level; mInheritedOutputType = outType; mInheritedProgressOutputType = progressOutType; mInheritedOutputWriter = outputWriter; }
private Logger(string name, Level level, OutputType outType, ProgressOutputType progressOutType, Node node) { mName = name; mInheritedLevel = level; mInheritedOutputType = outType; mInheritedProgressOutputType = progressOutType; mNode = node; }
private void PropagateSettings(Level level, OutputType outType, ProgressOutputType progressOutType, TextWriter outputWriter) { foreach (KeyValuePair <string, Node> item in mChildren) { if (item.Value.mLogger != null) { item.Value.mLogger.Inherit(level, outType, progressOutType, outputWriter); item.Value.PropagateSettings(); } else { item.Value.PropagateSettings(level, outType, progressOutType, outputWriter); } } }
private static Node GetNode(string name) { if (name == null) { return(mRoot); } string[] nodes = name.Split('.'); Node node = mRoot; Level level = node.mLogger.mLocalLevel; OutputType outType = node.mLogger.mLocalOutputType; ProgressOutputType progressOutType = node.mLogger.mLocalProgressOutputType; TextWriter outputWriter = node.mLogger.mLocalOutputWriter; for (int i = 0; i < nodes.Length; i++) { string nodeName = nodes[i]; if (node.mChildren.ContainsKey(nodeName)) { node = node.mChildren[nodeName]; if (node.mLogger != null) { level = node.mLogger.ActiveLevel; outType = node.mLogger.ActiveOutputType; progressOutType = node.mLogger.ActiveProgressOutputType; outputWriter = node.mLogger.ActiveOutputWriter; } else if (i == nodes.Length - 1) { node.mLogger = new Logger(name, level, outType, progressOutType, outputWriter, node); } } else if (i == nodes.Length - 1) { Node newNode = new Node(); newNode.mLogger = new Logger(name, level, outType, progressOutType, outputWriter, newNode); node.mChildren.Add(nodeName, node = newNode); } else { node.mChildren.Add(nodeName, node = new Node()); } } return(node); }
private void Progress(Level level, object sender, int freq, string funcName, string message, int step, int numSteps, params object[] args) { ProgressOutputType activeProgressOutType = ActiveProgressOutputType; if ((activeProgressOutType & ProgressOutputType.Off) == 0 && ActiveLevel <= level) { if ((activeProgressOutType & ProgressOutputType.Console) != 0) { if (numSteps <= 0) { if (step % freq == 0) { lock (mConsoleLock) { if (message == null) { message = "{0}"; } if (mProgressSender != null && mProgressSender != sender) { Console.WriteLine(); } if (args != null && args.Length > 0) { object[] allArgs = new object[1 + args.Length]; allArgs[0] = step; Array.Copy(args, 0, allArgs, 1, args.Length); Console.Write("\r" + message, allArgs); } else { Console.Write("\r" + message, step); } mProgressSender = sender; } } } else { if (step % freq == 0 || step == numSteps) { lock (mConsoleLock) { if (message == null) { message = "{0} / {1}"; } if (mProgressSender != null && mProgressSender != sender) { Console.WriteLine(); } if (args != null && args.Length > 0) { object[] allArgs = new object[2 + args.Length]; allArgs[0] = step; allArgs[1] = numSteps; Array.Copy(args, 0, allArgs, 2, args.Length); Console.Write("\r" + message, allArgs); } else { Console.Write("\r" + message, step, numSteps); } mProgressSender = sender; if (step == numSteps) { mProgressSender = null; Console.WriteLine(); } } } } } } if ((activeProgressOutType & ProgressOutputType.Custom) != 0 && mCustomProgressOutput != null && (mDisableCustomOutputLevelFilter || ((activeProgressOutType & ProgressOutputType.Off) == 0 && ActiveLevel <= level))) { mCustomProgressOutput(mName, sender, freq, funcName, message, step, numSteps, args); } }
private void PropagateSettings(Level level, OutputType outType, ProgressOutputType progressOutType) { foreach (KeyValuePair<string, Node> item in mChildren) { if (item.Value.mLogger != null) { item.Value.mLogger.Inherit(level, outType, progressOutType); item.Value.PropagateSettings(); } else { item.Value.PropagateSettings(level, outType, progressOutType); } } }
internal void Inherit(Level level, OutputType outType, ProgressOutputType progressOutType) { mInheritedLevel = level; mInheritedOutputType = outType; mInheritedProgressOutputType = progressOutType; }