从包装器服务(OpenVPN)获取输出日志?

时间:2013-03-12 17:36:36

标签: c# .net windows-services openvpn

我正在考虑编写一个简单的自定义.NET OpenVPN客户端 我想知道以什么不同的方式获取并显示底层 openvpn 可执行文件的输出日志?

(仅为了提供信息 - OpenVPN服务基本上是主要可执行文件的包装器,用于模拟透明的后台执行(例如Linux守护程序),以及绕过非管理员用户问题。它是用C语言编写的它从注册表中获取其开始配置参数,如Running OpenVPN as a Windows Service部分中的此页面所述。)

BTW,我正在检查像Viscosity和HMA这样的客户端,它们都是.NET客户端,并且都具有显示openvpn输出日志的功能。 HMA运行 openvpnserv.exe (即服务),并保留日志文件。粘性有自己的服务包装,我没有发现文件系统上的日志文件(这并不意味着它不存在于某处)......所以我无法确切地说出这种情况下发生了什么。

一个明显的解决方案是跟踪附加行的原始日志文件,例如: something like this,似乎有效。这里我的其他选择是什么,我应该考虑其他任何事情吗?

1 个答案:

答案 0 :(得分:0)

好的,替代(可能是理想的)解决方案是使用OpenVPN Management Interface及其打印日志功能,只需使用其中一个命令启用它(取决于所需的效果):

log on     # turn real-time logging on
log all    # show cached log history
log on all # second + first
log 30     # show most recent 30 log-history lines