notepad++ 查日志需关闭“匹配整个单词”搜 error,启用列编辑或正则提取 ip,大文件用只读模式和分块加载,自定义 error 行红底白字需重启生效,注意编码与版本兼容性。

用 Ctrl+F 做实时过滤,但得关掉「匹配整个单词」
日志里满屏是 INFO、DEBUG,你想只看 ERROR 行,直接按 Ctrl+F 搜肯定不行——默认勾选「匹配整个单词」,搜 ERROR 会漏掉 ERROR: Connection timeout 这种带冒号或空格的完整行。
实操建议:
- 打开查找对话框(
Ctrl+F),取消勾选「匹配整个单词」 - 勾选「匹配大小写」避免把
error和ERROR混在一起(很多日志严格区分) - 点「查找下一个」后,按
F3循环跳转,比滚动快得多
Exception 却没开「正则表达式」,结果找不到换行后的堆栈——这时候该切到「查找」→「在文件中查找」,用正则 Exception[\s\S]*?at\s 更准。用「语言模式」+「列编辑」快速提取时间戳或 IP 地址
日志格式杂乱,比如 2024-05-22 14:23:08,123 [INFO] 192.168.1.100 - GET /api/v1/user,想批量抠出所有 IP,靠手动太慢。
实操建议:
- 先点菜单栏「语言」→「语言设置」→ 选
Log(Notepad++ 自带的日志语法高亮,能自动识别时间、级别等) - 按住
Alt键,鼠标拖选多行同一列区域(比如从第 30 列拉到第 42 列),松手即进入列编辑模式,可一键复制/删除 - 更稳的方式是用「替换」+ 正则:
^.*?(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).*$→ 替换为$1,再勾选「正则表达式」和「全部替换」
^ 和 $ 默认只认单行,如果日志含换行符(比如异常堆栈),得先用「编辑」→「行操作」→「连接行」预处理。大日志卡死?别硬开,改用「只读模式」+「分块加载」
打开几百 MB 的 app.log,Notepad++ 转圈十分钟还崩,不是软件问题,是它默认全载入内存。
实操建议:
- 启动时加参数:
notepad++.exe -noPlugin -ro "D:\logs\app.log"(-ro强制只读,-noPlugin禁用插件省资源) - 或者用「文件」→「以只读方式打开」,再配合「视图」→「折叠所有」,把重复的 INFO 块收起来,聚焦 ERROR 区域
- 真要查超大文件(>1GB),别硬扛,用命令行先切片:
head -n 10000 app.log > sample.log或grep "ERROR" app.log | head -500 > errors.log,再用 Notepad++ 开小文件
自定义「日志着色规则」让 ERROR 红得扎眼
默认的 Log 语言模式只高亮级别文字,但你想让整行 ERROR 都变红底白字,得手动配 Style Configurator。
实操建议:
- 菜单「设置」→「样式配置器」→ 左侧选
Log→ 右侧找ERROR类型(不是「关键字」,是「Level」下的 ERROR) - 改「背景色」为深红,「前景色」为白色,勾选「粗体」
- 关键一步:点「保存并关闭」后,必须重启 Notepad++,否则不生效(这是个隐藏坑)
WARN 和 WARNING 当作两个类型,若你日志写的是 WARNING 却只配了 WARN,那行就不会着色。最常被忽略的其实是编码——用 ANSI 打开 UTF-8 日志,中文全变乱码,但 Notepad++ 不报错,只会显示一堆问号。下次打开前先看右下角状态栏的编码标识,不对就「编码」→「转为 UTF-8」,再重载。










