- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用批处理文件读取日志文件。
SUCCESS
,则文本应为绿色。WARNING
,则文本应为青色。ERROR
,则文本应为红色。当它找到一个值中的任何一个时它会起作用,但是如果日志文件包含两个或多个不同的结果,如 SUCCESS
和 WARNING
它不起作用.
尝试在 Windows 上使用批处理文件读取日志文件。
@echo off
set LogPath=C:\Mworks\logs
set /p MM-DD="Enter Month and Day (MM-DD) to Search logs for success close eg. 08-24: "
set YEAR=2019
@echo searching for %LogPath%\%YEAR%-%MM-DD%*.log
FOR /F "eol=- tokens=1-8 delims= " %%i in ('find /I "LOG ROTATE COMPLETE" %LogPath%\%YEAR%-%MM-DD%*.log') do set result=%%p
echo %result%
(
IF /I %result%==ERROR (goto :ERROR)
)
(
if /I %result%==SUCCESS (goto :SUCCESS)
)
(
if /I %result%==WARNING (goto :WARNING)
)
REM somehow need to catch value at token 8 and color the lines accordingly
REM proper use of enableDelayedExpansion might help but it's quite tough simply with batch script.
REM I've seen hackoo's version of pinger doing it but the code is hard to understand, which part controls what.
:SUCCESS
color 0A
REM this line needs to be on GREEN
FOR /F "eol=- tokens=1-8 delims= " %%i in ('find /I "LOG ROTATE COMPLETE" %LogPath%\2019-%MM-DD%*.log') do @echo %%i %%j %%k %%l %%m %%n %%o %%p
goto end
:ERROR
color 0C
REM this line nees to be on RED
FOR /F "eol=- tokens=1-8 delims= " %%i in ('find /I "LOG ROTATE COMPLETE" %LogPath%\2019-%MM-DD%*.log') do @echo %%i %%j %%k %%l %%m %%n %%o %%p
goto end
:WARNING
REM This line needs to be on CYAN
color 0B
FOR /F "eol=- tokens=1-8 delims= " %%i in ('find /I "LOG ROTATE COMPLETE" %LogPath%\2019-%MM-DD%*.log') do @echo %%i %%j %%k %%l %%m %%n %%o %%p
:end
pause
如果代码找到多个结果,其中结果可能是 SUCCESS
、WARNING
、ERROR
,则代码不起作用。
**LOG BEGUN 2019-08-24 03:42:28,662
loading c:Mworksconfiglog4j2.xml
INFO 2019-08-24 03:42:34,100 Initializing configs... :: oracle.retail.mworks.config.mworksProperties [mworks]
INFO 2019-08-24 03:42:34,100 Loading Properties - jar:file:/C:/Mworks/lib/menv-engine.jar!/dtv/res/config/actions.properties :: dtv.util.ResourceUtils [mworks]
INFO 2019-08-24 03:42:34,115 Loading Properties - file:/C:/Mworks/cust_config/version1/actions.properties :: dtv.util.ResourceUtils [mworks]
INFO 2019-08-24 03:42:34,131 Loading Properties - jar:file:/C:/Mworks/lib/menv-engine.jar!/dtv/res/config/environment.properties :: dtv.util.ResourceUtils [mworks]
INFO 2019-08-24 03:42:34,131 Loading Properties - file:/C:/Mworks/cust_config/version1/environment.properties :: dtv.util.ResourceUtils [mworks]
INFO 2019-08-24 03:42:34,146 Loading Properties - jar:file:/C:/Mworks/lib/menv-engine.jar!/dtv/res/config/update.properties :: dtv.util.ResourceUtils [mworks]
INFO 2019-08-24 03:42:34,162 Loading Properties - file:/C:/Mworks/cust_config/version1/update.properties :: dtv.util.ResourceUtils [mworks]
INFO 2019-08-24 03:42:34,162 Loading Properties - jar:file:/C:/Mworks/lib/menv-engine.jar!/dtv/res/config/local.properties :: dtv.util.ResourceUtils [mworks]
INFO 2019-08-24 03:42:34,162 Loading Properties - file:/C:/Mworks/cust_config/version1/local.properties :: dtv.util.ResourceUtils [mworks]
INFO 2019-08-24 03:42:34,584 Loading registration data from c:\Mworks\res\data\registrationdata.json :: oracle.retail.mworks.registration.RegistrationDataManager [mworks]
INFO 2019-08-24 03:42:35,287 Gathering local Client data. :: oracle.retail.mworks.registration.RegistrationDataManager [mworks]
INFO 2019-08-24 03:42:36,334 loading jar:file:/C:/Mworks/lib/menv-engine.jar!/dtv/res/config/MBeanInfoConfig.xml :: dtv.util.config.ConfigHelper [mworks]
INFO 2019-08-24 03:42:36,883
INFO 2019-08-24 03:42:36,883 Waiting for services to start... :: oracle.retail.mworks.mworks [mworks]
ntly running actions: [startup-lead, create-update-directories, LOG ROTATE] :: oracle.retail.mworks.action.Action [ActionExec-1]
INFO 2019-08-24 03:42:40,447 Action [CreateUpdateDirectories :: oracle.retail.mworks.atoms.CreateUpdateDirectories] complete. State: SUCCESS, Result: -----------------------------------
The text below should be in RED
----------------------------------
INFO 2019-08-24 03:42:40:03,060 LOG ROTATE complete. Status: ERROR Created update directories. :: oracle.retail.mworks.atoms.Atom [ActionExec-1]
INFO 2019-08-24 03:42:40,447 Currently running actions: [startup-lead, LOG ROTATE] :: oracle.retail.mworks.action.Action [ActionExec-1]
INFO 2019-08-24 03:42:40,447 Action [create-update-directories] returned state [SUCCESS] with message [Created update directories.] ::
The text below should be in cyan
---------------------------------------
INFO 2019-08-24 04:44:03,060 LOG ROTATE complete. Status: WARNING
LOT OF lines DELETED
The text below should be in green
----------------------------------------
INFO 2019-08-24 05:44:03,060 LOG ROTATE complete. Status: SUCCESS :: oracle.retail.xenvironment.action.Action [ActionExec-2]
sample log
像这样:
@Echo Off
SETLOCAL EnableDelayedExpansion
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
set "DEL=%%a"
)
call :chooseColor 0A "This is colored Green means SUCCESS"
echo.
call :chooseColor 0B "This is colored Cyan means WARNING"
echo.
call :chooseColor 0C "This is colored Red means ERROR"
echo.
pause
goto eof
:chooseColor
echo off
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1i
:eof
最佳答案
使用 ANSI 转义码的纯批处理解决方案需要更新的 Win10 版本。
困难是 ESC 符号十六进制 0x1b,dec 27,并非所有编辑器都能轻松提供。
此处使用 certutil 将十六进制转换为二进制已解决。
for/f
:: Q:\Test\2019\08\31\SO_57736435.cmd
@echo off
:restart
set "MM-DD="
set /p MM-DD="Enter Month and Day (MM-DD) to Search logs for success close eg. 08-24: "
if not defined MM-DD Exit /B 0
set "LogPath=C:\Mworks\logs"
set "File=%LogPath%\log.2019-%MM-DD%*.log"
if not exist "%File%" (Echo %File% doesn't exist&pause&goto :restart)
:: ANSI Escape codes, supported with Win10 again
Call :GetCSI
FOR %%f in ("%File%") Do FOR /F "usebackq tokens=1-8* delims= " %%A in ("%%f"
) do if /I "%%A%%D%%E%%F%%G"=="INFOLogRotateComplete.Status:" (
Call :%%H "%%A %%B %%C %%D %%E %%F %%G %%H %%I"
) Else (
Echo:%%A %%B %%C %%D %%E %%F %%G %%H %%I
)
Pause
exit /B 0
:Warning
Echo(%CSI%36m%~1%CSI%0m
Goto :Eof
:Success
Echo(%CSI%32m%~1%CSI%0m
Goto :Eof
:Error
Echo(%CSI%31m%~1%CSI%0m
Goto :Eof
:GetCSI
echo 1B 5B>CSI.hex
Del CSI.bin >NUL 2>&1
certutil -decodehex CSI.hex CSI.bin >NUL 2>&1
Set /P CSI=<CSI.bin
Goto :Eof
关于batch-file - 根据日志文件的输出字符串更改文本颜色的批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57736435/
我开发了一个 spring batch 应用程序,它使用批处理/shell 脚本部署为可执行 jar。它工作正常。 最近我读到有关 spring batch admin 应用程序发布的信息。根据他们的
我想要的是一个 bat 文件来等待一定时间的输入。如果没有输入,我希望它转到 somethingidk。 这是我目前所拥有的。 @echo off :START cls timeout 10 set
我最近尝试在不使用外部命令或工具的情况下批量编写一个程序来计算任何实数(而不是负数)的平方根,该程序基于可以在这里找到的算法:Link1 编辑:我修复了大部分问题,但仍然有一个我没有发现的轻微问题。
我有一个简单的批处理文件,它将遍历所有* Test.htm文件并进行复制。一些文件将包含我不想复制的字符串。 FOR /R "C:\" %%g IN (*Test.htm) DO ( echo %%
这可能简短而有趣,但我只是在检查。 批处理 for 命令可以有一个递增的步长值吗? @echo off SetLocal EnableDelayedExpansion set xyz=200 for
目前我正处于批处理 hell 中。我想通过批处理文件调用我的 powershell 脚本。只要路径中没有空格,这就可以正常工作。例如,这是有效的 set DATAPATH="%~1
试图找到以前是否有人问过这个问题,但找不到。 问题来了。以下必须通过Spring批处理来实现有一个文件需要读取和处理。项目阅读器不是线程安全的。计划是让多线程同质处理器和多线程同质写入器插入由单线程读
这里有同样的问题- Spring batch pause/resume vs stop/restart 我在 Spring 检查了 BatchStatus 枚举,没有可用的状态 PAUSED,它仅作为
因此,我目前有这批使用 ffmpeg 将当前文件夹上的每个 .MTS 转换为 .MP4,但是当它完成后,我会在文件夹中同时获得 .mp4 和 .mts。 我有 2 个批处理,一个用于转换文件,另一个用
我需要每周一次将 CSV 加载到数据库中。由于 CSV 文件包含 2 个表的数据,因此需要进行一些数据处理。因此,我将不得不稍微处理一下 CSV 文件,可能会将其转换为 2 个不同的 CSV 文件并将
我有一个澄清。 我们是否可以同时运行一个作业的多个实例。 目前,我们在任何给定时间都有一个作业实例。 如果可能,请告诉我如何做。 最佳答案 是的你可以。 Spring Batch 根据 JobPara
我想跳过一些过程记录。 我尝试过的是,我创建了自定义异常并在我想跳过记录时抛出异常,并且它调用了 onSkipInProcess 方法的跳过监听器。它工作正常。 请找到配置。
任何人都可以启发我一种方法来阻止我的 bat 在执行时在屏幕上闪烁吗?有没有办法阻止 CMD 窗口执行此操作???? 最佳答案 只是一个猜测,但要防止窗口在看不到打印内容的情况下立即打开和关闭,请在批
我需要一个批处理文件来向 windows 中的主机文件添加一条记录,但是我不需要只添加文件,因为我想检查该记录是否已经存在。有可能吗? 最佳答案 type "%SystemRoot%\system32
我试图了解 Spring Batch 如何进行事务管理。这不是技术问题,而是概念问题:Spring Batch 使用什么方法以及该方法的后果是什么? 让我试着澄清一下这个问题。例如,查看 Taskle
我需要知道如何从用户输入的文件中提取目录信息,以下面的代码为例: ECHO Drag and drop your .txt file here, after that press Enter: SET
首先是问题陈述:我在我的 DEV 环境中使用 Spring-Batch 很好。当我将代码移至生产环境时,我遇到了问题。在我的 DEV 环境中,Spring-Batch 能够毫无问题地在我们的 DB2
你好 我是 Spring Batch 领域的新手,最近几天我花了一些时间观看 Michael Minella 的 youtube 视频,阅读了一些文档并成功运行了我在互联网上找到的一些演示项目。我认为
我正在研究使用 spring 批处理来处理编码压缩文件中的记录。记录是可变长度的,其中编码了嵌套的可变长度数据字段。 我是 Spring 和 Spring Batch 的新手,这就是我计划构建批处理配
我正在尝试批量删除字符串中的第一个单词。 示例:“这个 child 喜欢批处理”到“ child 喜欢批处理” 我试过: @echo off set /p text=text: for /f "tok
我是一名优秀的程序员,十分优秀!