使用以下命令获取Windows-Winsock-AFD的信息级别跟踪非常容易:netsh trace start provider = Microsoft-Windows-Winsock-AFD TraceFile = my_ winsock_log3_trace.etl
生成的文件似乎不包括详细级别事件,例如"选择/投票已发布".我也尝试过:"netsh trace start provider = Microsoft-Windows-Winsock-AFD TraceFile = my_winsock_log3_trace.etl level = 5"没有帮助(同级事件)
有没有人能够以详细的方式启动winsock跟踪?
谢谢
我有一个进程在 Windows 服务器上运行,多个用户在多个会话上运行(可能有多达 50 个并发用户),我想:
所以我想我应该尝试一下 nLog:
<?xml version="1.0" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
internalLogFile="file.txt">
<targets async="false">
<target name="regFile" xsi:type="File"
layout="${longdate} [${windows-identity}][${processid}]${threadname} ${uppercase:${level}} ${callsite} - ${message}${onexception:${newline}${exception:format=tostring}}"
fileName="${basedir}/logs/test.log"
archiveFileName="${basedir}/logs/test.{#####}.log"
archiveAboveSize="102400"
archiveNumbering="Rolling"
maxArchiveFiles="14"
concurrentWrites="true"
keepFileOpen="true"
autoFlush="true"
/>
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="regFile" />
</rules>
</nlog>
Run Code Online (Sandbox Code Playgroud)
我还写了一个小测试器:
class Program
{
private static Logger m_log = LogManager.GetCurrentClassLogger();
static void Main(string[] args)
{
// Load logger configuration
var assemblyLocation = Assembly.GetExecutingAssembly().Location;
var assemblyDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
if (assemblyDirectory != null)
{
var …
Run Code Online (Sandbox Code Playgroud) 在使用MySql(Aurora)时,我开始注意到奇怪的查询丢失,工作人员只是永远挂起.经过一些调查后,似乎在AWS中运行的相同代码是正常的,但在Azure上,它只是挂起,永远!
似乎这样做的原因是Azure只是杀死空闲的连接(如长时间运行的查询).请注意,我可以在一个甚至没有负载均衡器的VM上重现这一点.
这可以通过以下方式重现 date && time mysql -h$SERVER -u$USER -D mydb -p$PASS -e "SELECT SLEEP(260);"
请注意,我用240,250和260测试它死了.但不只是死,挂,永远!看起来Azure甚至懒得告诉套接字死机,因此MySql客户端挂起.
我们有从NodeJs和Python运行的查询,因此我需要一个可以在两者中运行的解决方案.
请看这里的一个很好的例子:https://imgur.com/gallery/FCV8ZWb(注意我必须在另一个会话中杀死mysql才能实际发布)