小编use*_*969的帖子

Winsock跟踪无法获得详细级别事件

使用以下命令获取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 etw winsock2 netsh

7
推荐指数
0
解决办法
375
查看次数

从多个进程进行日志记录,nLog 丢失日志且存档不一致

我有一个进程在 Windows 服务器上运行,多个用户在多个会话上运行(可能有多达 50 个并发用户),我想:

  1. 将所有进程记录到单个日志文件
  2. 将日志大小限制为 1.5MB(出于我们测试的目的)
  3. 记录器具有可接受的性能

所以我想我应该尝试一下 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)

c# logging nlog

5
推荐指数
1
解决办法
4216
查看次数

Azure VM似乎会杀死长时间运行的MySql查询

在使用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才能实际发布)

python mysql azure node.js

5
推荐指数
1
解决办法
93
查看次数

标签 统计

azure ×1

c# ×1

etw ×1

logging ×1

mysql ×1

netsh ×1

nlog ×1

node.js ×1

python ×1

windows ×1

winsock2 ×1