我试图在 Python 中打开一个 .log 扩展文件,但我一直遇到 IOError。我想知道这是否与扩展有关,因为很明显,进入该循环的唯一方法是目录中是否存在“some.log”。
location = '/Users/username/Downloads'
for filename in os.listdir(location):
if filename == 'some.log':
f = open('some.log', "r")
print (f.read())
Run Code Online (Sandbox Code Playgroud)
追溯:
f = open('some.log', "r")
IOError: [Errno 2] No such file or directory: 'some.log'
Run Code Online (Sandbox Code Playgroud) 是否可以使用java读取日志文件(abc.log)?
我想从我的日志文件中获取特定的字符串.
假设这是我的日志文件的内容.我只想要时间戳(例如:05:08:37)并将其打印到控制台.
2012-12-16 05:08:37,905 [Thread-1] INFO com.submit.SubmitService - Wait time 500
2012-12-16 05:08:38,444 [Thread-1] INFO com.submit.SubmitService - NO OF RECORDS TILL NOW 3755 TOTAL TIME -- << 539
2012-12-16 05:08:38,668 [Thread-1] INFO com.submit.SubmitService - Active Connection:: -69076
2012-12-16 05:08:38,670 [Thread-1] INFO com.submit.SubmitService - Active Connection:: -65764
Run Code Online (Sandbox Code Playgroud) 在我的本地机器上,我使用了 exec 命令,如下所示:
if($serverHost == "api.frapi")
{
$phpBianryPath='/Applications/MAMP/bin/php/php5.4.10/bin/php';
}
else
{
$phpBianryPath='/usr/bin/php';
}
$logDir= dirname(__FILE__). '/BackgroundTask';
exec("$phpBianryPath $logDir/notificationCall.php $token >> $logDir/log_file.log 2>&1 &");
Run Code Online (Sandbox Code Playgroud)
它在我的本地机器上运行完美。但是当我将它上传到生产服务器然后尝试使用它时,它会出现如下错误:
sh: /var/www/html/example/src/frapi/custom/Action/BackgroundTask/log_file.log:
Permission denied
Run Code Online (Sandbox Code Playgroud)
请指导我。我不明白为什么它在生产中不起作用?
我是Log4Net的新手.我正在尝试使用此记录器来记录我的WCF服务.
我无法使用此功能,因为日志文件未创建.
它正在建设成功,没有错误被抛出.
这是我在app.config中的配置:
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="Utilities.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
</sectionGroup>
</configSections>
<log4net>
<root>
<level value="DEBUG"/>
<appender-ref ref="LogFileAppender" />
</root>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<file value="c:\Avinash" />
<datePattern value="dd.MM.yyyy'.log'" />
<staticLogFileName value="false" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="5MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
</log4net>
Run Code Online (Sandbox Code Playgroud)
它有什么错误.我这么久都试着这个.但是,无法找出问题所在.
有什么建议 ??
此外,这是我为记录功能创建的类:
namespace Utilities
{ …Run Code Online (Sandbox Code Playgroud) 我想在我的LOG文件中写入当前的日期和时间:
$logFileName = 'file://c:\MYLOG.log'; // /var/logs/file.log
$logContent = "Running through the function".PHP_EOL;
$date = (new DateTime('NOW'))->format("y:m:d h:i:s");
if ($handle = fopen($logFileName, 'a'))
{
fwrite($handle, $date);
fwrite($handle, PHP_EOL);
fwrite($handle, $logContent);
fwrite($handle, PHP_EOL);
fwrite($handle, $cmdWindows);
fwrite($handle, PHP_EOL);
fwrite($handle, $params);
fwrite($handle, PHP_EOL);
}
fclose($handle);
Run Code Online (Sandbox Code Playgroud)
当它通过我的方法运行时,我可以看到我想要的所有信息,但不能看到日期和时间.你能告诉我哪里错了吗?先感谢您.
我需要监视文件的更改。由于此文件中有大量新条目,我需要“监视”此文件。我需要将新插入的内容添加到此文件中才能解析此内容。
我找到了这个代码:
fs.watchFile('var/log/query.log', function() {
console.log('File Changed ...');
//how to get the new line which is now inserted?
});
Run Code Online (Sandbox Code Playgroud) 我正在编写一个简单的bash脚本,其中bash脚本会将我的实时服务器与登台服务器同步。我正在使用rsync来做到这一点。
我需要的是脚本执行每一天的日志文件。我正在使用以下命令
rsync -azP --stats source-directory user@host.com:destination-directory --log-file=~/public_html/rsynclogs/rsync-backup-log-`date +"%Y-%m-%d"`.log
Run Code Online (Sandbox Code Playgroud)
该命令给我的错误是
rsync: failed to open log-file ~/public_html/rsynclogs/rsync-backup-log-2017-01-11.log: No such file or directory (2)
Ignoring "log file" setting.
Run Code Online (Sandbox Code Playgroud)
因此,很可能它正在寻找现有的日志文件,但是如果它不存在,我希望创建它。请为我如何实现这一建议。
我有一个 PowerShell 脚本,它将一些文件从一个文件夹复制到另一个文件夹,我还有代码来创建日志文件并将脚本执行的步骤添加到日志文件中。
下面是代码——
[CmdletBinding()]
Param (
[string]$destRoot = "C:\Program Files\Demo",
[string]$BackUpFolder = "C:\Program Files\Backup"
)
$scriptPath = $PSScriptRoot
$logFilePath = Join-path $scriptPath "FileDeployment.log"
# If log file exists, then clear its contents
if (Test-Path $logFilePath) { clear-content -Path $logFilePath }
# It displays the date and time of execution of powershell script in log file.
$log = "Date Of Testing: {0} " -f (Get-Date)
$logString = "Process Started."
add-content -Path $logFilePath -Value $log -Force
add-content -Path $logFilePath -Value $logString …Run Code Online (Sandbox Code Playgroud) powershell powershell-2.0 logfile powershell-3.0 powershell-4.0
我有一个奇怪格式的日志文件,我想将其转换为表格。格式是每行包含多个键值对(每行相同对)。我想转换这些行,以便每个属性成为包含行中值的表中的一列。
请注意,原始日志文件每行包含 39 个属性,日志文件大约为 80MB。
示例行:
date=2019-12-02 srcip=8.8.8.8 destip=8.8.4.4 srcintf="port2"
date=2019-12-01 srcip=8.8.8.8 destip=8.8.4.4 srcintf="xyz abc"
date=2019-12-03 srcip=8.8.8.8 destip=8.8.4.4 srcintf="port2"
date=2019-12-05 srcip=8.8.8.8 destip=8.8.4.4 srcintf="port2"
date=2019-12-07 srcip=8.8.8.8 destip=8.8.4.4 srcintf="port2"
Run Code Online (Sandbox Code Playgroud)
我试过了:
Get-Content .\testfile.log | select -First 10 | ConvertFrom-String | select p1, p2, p3 | ft | Format-Wide
Run Code Online (Sandbox Code Playgroud)
但这不会将属性名称分解为列名称。所以在这个例子中,我希望 P1 是 date、p2 srcip 和 p3 destip,并且每个值的第一部分被删除。
任何人有任何提示或创意如何将其转换为表格?
对于一个项目,我需要 Lisp 程序的输出,但是我以前从未听说过 Lisp,我无法让它运行。我已经从网站下载了文件 (.lsp) 并使用文本编辑器查看它以了解其逻辑。lisp 文件获取某个输入并通过一些迭代步骤减少该输入。我不仅想知道输出,还想知道迭代过程,这就是为什么它的日志文件会很棒。我已经下载了 Portacle 和其他一些 Lisp 解释器/编译器,但我无法让它工作。这太令人沮丧了。有没有一种简单的方法可以从目录中运行 lisp 文件?我已经看过几个教程并阅读了这里的一些主题,但我仍然不知道如何像运行 Python 文件一样运行 Lisp 文件。
我非常感谢任何帮助!我很确定有一种我没有看到的简单方法。非常感谢您!