我有以下课程:
private string name;
private Logger logger;
private LogLevel lvl;
private LoggingConfiguration config;
public Logger(string name, string path, string format, LogLevel lvl)
{
this.name = name;
FileTarget fileTarget = new FileTarget();
fileTarget.FileName = path;
fileTarget.Layout = format;
this.lvl = lvl;
LoggingRule rule = new LoggingRule(name, lvl, fileTarget);
config = new LoggingConfiguration();
config.AddTarget(name, fileTarget);
config.LoggingRules.Add(rule);
LogManager.Configuration = config;
logger = LogManager.GetLogger(this.name);
logger.Trace("test");
}
Run Code Online (Sandbox Code Playgroud)
我创建了两个不同的记录器,如下所示:
Logger("log1", "c:\\test\\log1.txt", ${message}, LogLevel.Debug);
Logger("log2", "c:\\test\\log2.txt", ${message}, LogLevel.Debug);
Run Code Online (Sandbox Code Playgroud)
这两个文件都是使用字符串 test 创建的。但是当我尝试使用(类方法)记录消息时:
public void Log(string msg)
{
logger …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 roslyn 来获取方法的返回语句,为此我正在使用它:
var returns = methods.DescendantNodes().OfType<ReturnStatementSyntax>();
Run Code Online (Sandbox Code Playgroud)
那行得通,它给了我所有的返回语句。但是现在,我想获得所有返回值而忽略 lambda 表达式中的值。
我怎样才能做到这一点?
是否有任何财产表明这一点?