我正在尝试构建一个Log函数。 我的类看起来有点像(pseudoCode):
const string Trigger1 = "Warning";
const string Trigger2 = "Info";
public void log (string Trigger)
{
WriteLog(message = Trigger);
}
我想调用方法日志并告诉它应该在日志中写入哪个触发器常量。
实现这一目标的最佳方法是什么?
答案 0 :(得分:1)
您应该使用日志库,但如果您只是在尝试并希望自己实现它,请使用Enums。
public enum LogLevel {
Warning,
Info
}
Log(LogLevel.Info);
public void Log(LogLevel level) {
...
}
答案 1 :(得分:1)
您可以执行大多数日志库的操作并在API中明确显示:
public class Logger
{
private const string Warn = "Warn";
private const string Info = "Info";
public LogInfo(string message)
{
Log(Info, message);
}
public LogWarn(string message)
{
Log(Warn, message);
}
private Log(string trigger, string message)
{
// do something
}
}
作为另一种选择,您可以选择在上面公开private Log
方法作为公共API的一部分。在这种情况下,我会将LogLevel提取为枚举,并将其用作触发器参数,而不是使用string