在我目前的公司,NLog
大量使用于日志记录目的,而 Notepad++ 用于平面文本编辑(如日志)。
我想添加一种用户定义的“NLog
语言”,以便根据典型NLog
关键字Debug
、、Error
和来修改日志的前景/背景颜色。Warn
Info
Fatal
我听到你说“就这些吗?只需创建相应的 XML 文件就可以了。”,但是有一个问题:
我已经开始编写 XML 文件,它如下所示(未经测试):
<NotepadPlus>
<UserLang name="NLog" ext="log" udlVersion="2.1">
<Settings>
<Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
<Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
</Settings>
<KeywordLists>
<Keywords name="Debug">| Debug |</Keywords>
<Keywords name="Info">| Info |</Keywords>
<Keywords name="Error">| Error |</Keywords>
<Keywords name="Warn">| Warn |</Keywords>
<Keywords name="Fatal">| Fatal |</Keywords>
</KeywordLists>
<Styles>
<WordsStyle name="Debug" fgColor="000000" bgColor="FFFFFF" colorStyle="1" fontStyle="0" nesting="0" />
<WordsStyle name="Info" fgColor="009100" bgColor="0FFFFF" colorStyle="1" fontStyle="0" nesting="0" />
<WordsStyle name="Error" fgColor="009100" bgColor="8FFFFF" colorStyle="1" fontStyle="0" nesting="32768" />
<WordsStyle name="Warn" fgColor="804000" bgColor="4FFFFF" colorStyle="1" fontStyle="0" nesting="0" />
<WordsStyle name="Fatal" fgColor="0078B3" bgColor="CFFFFF" colorStyle="1" fontStyle="0" nesting="0" />
</Styles>
</UserLang>
</NotepadPlus>
...但你可能已经看到了问题所在:我可以改变关键字的颜色,但这不是我想要的:我想要改变的颜色关键字所属的整行。
看一下这个Styler Dialog
功能,它并不是很有前景:
有:
- 更改字体,包括名称、大小、粗体、斜体、下划线
- 改变颜色(前景和背景)和透明度。
...但这一切都适用于简单关键字,而不是整行。
在 Notepad++ 的语言设置中,有没有办法改变包含关键字的整行颜色?
提前致谢
附言:我试图将这个问题添加到 Notepad++ 社区,但它被某个 Aksimet 视为垃圾邮件。
答案1
如果你想不使用插件,即只使用 Notepad++ 中的用户定义语言 (UDL) 来突出显示日志,到目前为止,我只找到了使用的部分解决方案分隔符用于((EOL))
我的简单 Python 日志。我这里缺少 RegEx。
我假设每行只有一条消息,并且没有换行符。
对于您的用例,您仍然需要从 进行调整,[DEBUG
例如| Debug
。
我已在此处添加了生成的 UDL.xml 以便导入它进行测试。
<NotepadPlus>
<UserLang name="MyLog" ext=".log" udlVersion="2.1">
<Settings>
<Global caseIgnored="no" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
<Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
</Settings>
<KeywordLists>
<Keywords name="Comments">00# 01 02 03 04</Keywords>
<Keywords name="Numbers, prefix1"></Keywords>
<Keywords name="Numbers, prefix2"></Keywords>
<Keywords name="Numbers, extras1"></Keywords>
<Keywords name="Numbers, extras2"></Keywords>
<Keywords name="Numbers, suffix1"></Keywords>
<Keywords name="Numbers, suffix2"></Keywords>
<Keywords name="Numbers, range"></Keywords>
<Keywords name="Operators1"></Keywords>
<Keywords name="Operators2"></Keywords>
<Keywords name="Folders in code1, open"></Keywords>
<Keywords name="Folders in code1, middle"></Keywords>
<Keywords name="Folders in code1, close"></Keywords>
<Keywords name="Folders in code2, open"></Keywords>
<Keywords name="Folders in code2, middle"></Keywords>
<Keywords name="Folders in code2, close"></Keywords>
<Keywords name="Folders in comment, open"></Keywords>
<Keywords name="Folders in comment, middle"></Keywords>
<Keywords name="Folders in comment, close"></Keywords>
<Keywords name="Keywords1"></Keywords>
<Keywords name="Keywords2"></Keywords>
<Keywords name="Keywords3"></Keywords>
<Keywords name="Keywords4"></Keywords>
<Keywords name="Keywords5"></Keywords>
<Keywords name="Keywords6"></Keywords>
<Keywords name="Keywords7"></Keywords>
<Keywords name="Keywords8"></Keywords>
<Keywords name="Delimiters">00[DEBUG 01 02((EOL)) 03[INFO 04 05((EOL)) 06[WARNING 07 08((EOL)) 09[ERROR 10 11((EOL)) 12[CRITICAL 13 14((EOL)) 15 16 17 18 19 20 21 22 23</Keywords>
</KeywordLists>
<Styles>
<WordsStyle name="DEFAULT" fgColor="C0C0C0" bgColor="FFFFFF" colorStyle="1" fontStyle="0" nesting="0" />
<WordsStyle name="COMMENTS" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
<WordsStyle name="LINE COMMENTS" fgColor="FF8000" bgColor="FFFFFF" colorStyle="1" fontStyle="0" nesting="0" />
<WordsStyle name="NUMBERS" fgColor="C0C0C0" bgColor="FFFFFF" colorStyle="1" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS1" fgColor="8080FF" bgColor="FFFFFF" fontStyle="1" nesting="0" />
<WordsStyle name="KEYWORDS2" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS3" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS4" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS5" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
<WordsStyle name="OPERATORS" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN CODE1" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN CODE2" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN COMMENT" fgColor="008000" bgColor="FFFFFF" fontStyle="3" nesting="0" />
<WordsStyle name="DELIMITERS1" fgColor="8080FF" bgColor="FFFFFF" colorStyle="1" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS2" fgColor="0080FF" bgColor="FFFFFF" colorStyle="1" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS3" fgColor="FF8080" bgColor="FFFFFF" colorStyle="1" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS4" fgColor="FF0000" bgColor="FFFFFF" colorStyle="1" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS5" fgColor="FF00FF" bgColor="FFFFFF" colorStyle="1" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
</Styles>
</UserLang>
</NotepadPlus>