我使用和喜欢Notepad ++(http://notepad-plus-plus.org/)作为我的简单文本编辑器.我已经使用它作为git的默认编辑器几个星期了,并注意到一些有趣的行为.
通常我运行Notepad ++,启用Tab Bar就像这样

但是,当我使用Notepad ++作为我的git编辑器时,我更希望它以最基本的模式打开(主要是没有选项卡,并且在它自己的实例中)我只想要一个文本编辑器来记录我的提交消息等.我的相关部分.gitconfig设置如下
[core]
autocrlf = true
editor = "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Run Code Online (Sandbox Code Playgroud)
当从git启动时,使用此Notepad ++会根据需要打开,但是,下次正常启动Notepad ++时,它会丢失我之前的设置,并且不再显示标签栏.每次我想在从git启动后使用Notepad ++时都必须更新此设置真的很烦人.关于如何让Notepad ++在两种情况下都能正常工作而没有相互影响的设置的任何建议?
我使用Log4Net作为我们应用程序的日志记录机制.我们的配置包含在配置文件中,在我们的代码中,我们以编程方式调用FileAppenders我们想要调用的几个记录器(主要是使用)中的哪一个.最近我意识到我们的一个日志文件没有被填充,我跟踪它的字符串不匹配,在我们的配置文件中的名称和我们在代码中以编程方式调用的名称之间.因为LogManager找不到指定的记录器,所以返回了root,这对于我们的配置而言没有设置为有意义地记录在任何地方.
我的问题是,有没有办法设置log4net以允许使用特定的loggers,但logger如果logger找不到指定的话,这将回归到一般?
例如,使用这样的配置文件
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="ConsoleAppender" />
</root>
<logger name="TestFileLogger">
<level value="ALL" />
<appender-ref ref="TestFileAppender" />
</logger>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p [%x] - %m%n" />
</layout>
</appender>
<appender name="TestFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="TestLog" />
<param name="DatePattern" value=".yyyyMMdd".log"" />
<param name="AppendToFile" value="true" />
</appender>
</log4net>
</configuration>
Run Code Online (Sandbox Code Playgroud)
并在C#中调用记录器就像这样
var fileLogger = LogManager.GetLogger("TestFileLogger");
fileLogger.Info("This logs appropriately."); …Run Code Online (Sandbox Code Playgroud)