前言
公司环境里面的日志是按文件大小分片的,我想找的日志只集中在几秒钟之内。用到了个小工具,现在记录一下。
源文件 (例子)
2023-01-15 15:57:44,585 [main] DEBUG -[ConstructorResolver.java:808]- Autowiring by type from bean name 'requestMappingHandlerMapping' via factory method to bean named 'mvcResourceUrlProvider'
2023-01-15 15:57:44,588 [main] DEBUG -[ConstructorResolver.java:808]- Autowiring by type from bean name 'requestMappingHandlerMapping' via factory method to bean named 'mvcContentNegotiationManager'
2023-01-15 15:57:44,588 [main] DEBUG -[ConstructorResolver.java:808]- Autowiring by type from bean name 'requestMappingHandlerMapping' via factory method to bean named 'mvcConversionService'
2023-01-15 15:57:44,588 [main] DEBUG -[ConstructorResolver.java:808]- Autowiring by type from bean name 'requestMappingHandlerMapping' via factory method to bean named 'mvcResourceUrlProvider'
2023-01-15 15:57:44,738 [main] DEBUG -[AbstractHandlerMethodMapping.java:295]-
o.s.b.a.w.s.e.BasicErrorController:
{ [/error], produces [text/html]}: errorHtml(HttpServletRequest,HttpServletResponse)
{ [/error]}: error(HttpServletRequest)
2023-01-15 15:57:44,788 [main] DEBUG -[DefaultSingletonBeanRegistry.java:225]- Creating shared instance of singleton bean 'mvcUrlPathHelper'
2023-01-15 15:57:44,793 [main] DEBUG -[DefaultSingletonBeanRegistry.java:225]- Creating shared instance of singleton bean 'mvcPathMatcher'
2023-01-15 15:57:44,795 [main] DEBUG -[DefaultSingletonBeanRegistry.java:225]- Creating shared instance of singleton bean 'viewControllerHandlerMapping'
2023-01-15 15:57:44,797 [main] DEBUG -[ConstructorResolver.java:808]- Autowiring by type from bean name 'viewControllerHandlerMapping' via factory method to bean named 'mvcConversionService'
2023-01-15 15:57:44,797 [main] DEBUG -[ConstructorResolver.java:808]- Autowiring by type from bean name 'viewControllerHandlerMapping' via factory method to bean named 'mvcResourceUrlProvider'
2023-01-15 15:57:44,800 [main] DEBUG -[DefaultSingletonBeanRegistry.java:225]- Creating shared instance of singleton bean 'beanNameHandlerMapping'
2023-01-15 15:57:44,801 [main] DEBUG -[ConstructorResolver.java:808]- Autowiring by type from bean name 'beanNameHandlerMapping' via factory method to bean named 'mvcConversionService'
目标
2023-01-15 15:57:44,738 [main] DEBUG -[AbstractHandlerMethodMapping.java:295]-
o.s.b.a.w.s.e.BasicErrorController:
{ [/error], produces [text/html]}: errorHtml(HttpServletRequest,HttpServletResponse)
{ [/error]}: error(HttpServletRequest)
2023-01-15 15:57:44,788 [main] DEBUG -[DefaultSingletonBeanRegistry.java:225]- Creating shared instance of singleton bean 'mvcUrlPathHelper'
linux 脚本
- 控制台输出
sed -n '/2023-01-15 15:57:44,738/,/2023-01-15 15:57:44,788/p' demo.log
- 把筛选的记录重定向到新文件
sed -n '/2023-01-15 15:57:44,738/,/2023-01-15 15:57:44,788/p' demo.log > demo-error.log
Window 运行脚本
有 git 环境利用 gitbash 就可以了
后记
'/keyA/,/keyB/p'
- keyA
w
s
s
s
a
keyA 会匹配第一个后会贪婪匹配,比如 keyA = s,keyB = a 以上文本都会被捕获为
s
s
s
a
- keyB
w
s
s
s
a
a
a
keyB 匹配到首次出现的值就停止,比如 keyA = s , keyB = a 以上文本都会被捕获为
s
s
s
a