我有一个蔚蓝的Linux,其中我想运行具有简单stdout日志的自定义应用程序。假设假设一个python应用程序将打印的日志(“这是一个日志”)作为日志。我希望所有的标准日志被流和查询在蔚蓝日志分析。
创建日志分析资源
连接了我的azure linux
现在,我还应该做些什么才能在日志分析中看到所有的标准日志呢?
我正在尝试读取日志文件并将所有错误日志写入新文件。我还必须跟踪有多少错误和一般的消息数量。我必须假设日志将被分成多行,因此我一直在使用regex和序列a变量来搜索所有可能性并写入适当的文件。我的文件句柄是: FILE、ERRORFILE和SUCCESSFILE。
use strict;
use warnings;
my $totalcount = 0;
my $errorcount = 0;
my $log = "s"; # $log controls what what should be written where,
我的Oracle Linux 6系统日期打印:
$ date Sat Mar 18 08:05:10 PDT 2017
和/var/log/cron时间戳打印:
Mar 18 15:05:04
为什么它是不同的,我可以在哪里进行更改(是否有任何conf文件),以便cron日志在与系统相同的时区打印日志?
因此,在开发过程中,通过xcode或使用SPM编译时,控制台日志将按预期显示。
例如,在本地使用SPM,一切都很好
swift build --configuration release
.build/release/Myapp # prints to console
但是,当我通过运行在ECS上的docker容器(我想是linux)运行可执行文件时,我看不到我的Swift代码生成的日志,但我确实看到了由第三方库打印的stderr (即libssl正在打印错误),以及启动应用程序时的shell日志。
例如:
Dockerfile
FROM swift
WORKDIR /app
COPY P
我只需要在多个日志文件中找到第一个匹配行的下一行。我在这个网站上发现了下面有帮助的awk命令。它会打印每条匹配线的下一行。但我只需要第一次比赛。请帮帮忙。
awk '/Linux/{getline;print}‘文件
cat文件Unix Linux Solaris AIX SCO Linux Redhat
上面的命令打印: Solaris Redhat
但我只需要下一行到第一条匹配线:即Solrais
我可以使用head命令,但我认为对于大型文件,它确实不建议使用。