68 lines
2.6 KiB
C#
68 lines
2.6 KiB
C#
using Aurora.Api;
|
|
using Aurora.Util.HislogPlus;
|
|
using WeldingCommon.Process;
|
|
using OpenCvSharp.Dnn;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace WeldingCommon.Tools
|
|
{
|
|
public class DualLogger
|
|
{
|
|
private List<LoggerInfo> _logList = new List<LoggerInfo>();
|
|
|
|
public void AddLogger([CallerMemberName] string tag = null, string loggerName = null) {
|
|
_logList.Add(new LoggerInfo(tag, loggerName));
|
|
}
|
|
|
|
public void W(string log, eStage stage) => W(log, Enum.GetName(typeof(eStage), stage));
|
|
public void E(string log, eStage stage) => E(log, Enum.GetName(typeof(eStage), stage));
|
|
public void I(string log, eStage stage) => I(log, Enum.GetName(typeof(eStage), stage));
|
|
public void V(string log, eStage stage) => V(log, Enum.GetName(typeof(eStage), stage));
|
|
public void D(string log, eStage stage) => D(log, Enum.GetName(typeof(eStage), stage));
|
|
|
|
public void W(string log, string target = null) {
|
|
if (target == null) _logList.ForEach(t => t._log.W(log));
|
|
else _logList.Where(t => t._loggerName.Contains(target)).FirstOrDefault()._log.W(log);
|
|
}
|
|
public void E(string log, string target = null)
|
|
{
|
|
if (target == null) _logList.ForEach(t => t._log.E(log));
|
|
else _logList.Where(t => t._loggerName.Contains(target)).FirstOrDefault()._log.E(log);
|
|
}
|
|
public void V(string log, string target = null)
|
|
{
|
|
if (target == null) _logList.ForEach(t => t._log.V(log));
|
|
else _logList.Where(t => t._loggerName.Contains(target)).FirstOrDefault()._log.V(log);
|
|
}
|
|
public void I(string log, string target = null)
|
|
{
|
|
if (target == null) _logList.ForEach(t => t._log.I(log));
|
|
else _logList.Where(t => t._loggerName.Contains(target)).FirstOrDefault()._log.I(log);
|
|
}
|
|
public void D(string log, string target = null)
|
|
{
|
|
if (target == null) _logList.ForEach(t => t._log.D(log));
|
|
else _logList.Where(t => t._loggerName.Contains(target)).FirstOrDefault()._log.D(log);
|
|
}
|
|
|
|
private class LoggerInfo
|
|
{
|
|
public Logger _log;
|
|
public string _tag;
|
|
public string _loggerName;
|
|
|
|
public LoggerInfo(string tag, string loggerName)
|
|
{
|
|
_tag = tag;
|
|
_loggerName = loggerName;
|
|
_log = new Logger(_tag, _loggerName);
|
|
}
|
|
}
|
|
}
|
|
}
|