首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何监视windows服务文本输出

如何监视windows服务文本输出
EN

Stack Overflow用户
提问于 2014-12-22 15:24:08
回答 4查看 919关注 0票数 0

对于windows服务,我有一个将日志条目输出到文本文件的过程。这一切都很好,但我看不见它的实况。一旦我打开文件来查看日志,它就会停止对它的写入,因为我假设服务不能写入打开的文件。

我的问题:是否有一种方法可以用类似于控制台的东西来监视这个文本输出?此解决方案仅用于调试目的。我不想要GUI或类似的东西--只是简单地观察我的记录器在做什么。

现在写到我正在做的文本文件:

代码语言:javascript
代码运行次数:0
运行
复制
RecordDataToLog("Log this");

private void RecordDataToLog(string txtData)
{
    using (System.IO.StreamWriter file = new System.IO.StreamWriter(logFileDir, true))
        file.WriteLine(txtData);
}

我试着像这样使用Console,但是它没有工作--没有显示控制台窗口。

代码语言:javascript
代码运行次数:0
运行
复制
Console.WriteLine("Log this");

或者是否有其他文本编辑器或文本文件类型支持写入打开的文件?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-12-22 15:45:41

我用记事本和Notepad++打开了文件,并且仍然能够用StreamWriter写入文件,所以它必须是打开文件的编辑器。记事本根本不刷新内容。你得重新打开文件。Notepadd++应该提示您并询问是否要重新加载。

PowerShell v3在Get-Content上包含一个选项,用于打开文件并在添加时打印新内容,类似于在*nix OSes上的尾:

代码语言:javascript
代码运行次数:0
运行
复制
Get-Content "C:\path\to\log\file" -Wait
票数 1
EN

Stack Overflow用户

发布于 2014-12-22 15:28:51

通过使用日志框架(如log4netNLog ),您将大大减少在这方面的痛苦。

这将允许您在一个单独的配置文件中配置多个输出格式。我已经将一个国产的日志系统转换为log4net。花了半天时间才做完这件事--这是一个相对较大的商业应用程序。

票数 1
EN

Stack Overflow用户

发布于 2014-12-22 15:29:08

您可以使用Notepad++。

如果您在命令行中通过以下方式启动

代码语言:javascript
代码运行次数:0
运行
复制
notepad++.exe -ro "MyLogFile.txt"

然后它将以只读模式打开文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27605504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档