zoukankan      html  css  js  c++  java
  • 记录下XPO生成的SQL语句

    XPO使用了标准的System.Diagnostics的Trace Log机制,只需要在config文件中加入如下代码,即可在Debug时在输出窗口看到XPO生成的SQL语句。

    Config
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        
    <system.diagnostics>
            
    <switches>
                
    <add name="XPO" value="3" />
            
    </switches>
        
    </system.diagnostics>
    </configuration>

    也可以将其记录到日志文件:

    Config
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        
    <system.diagnostics>
            
    <trace autoflush="true" indentsize="4">
                
    <listeners>
                    
    <add name="LogFileTraceListener" type="System.Diagnostics.TextWriterTraceListener" 
                        initializeData
    ="trace.log" />
                    
    <remove name="Default" />
                
    </listeners>
            
    </trace>
            
    <switches>
                
    <add name="XPO" value="3" />
            
    </switches>
        
    </system.diagnostics>
    </configuration>

    因为采用.NET标准的Trace Log机制,我们也可以自己实现一个Log类:

    MyTraceListener
    using System;

    namespace Test
    {
        
    public class MyTraceListener: System.Diagnostics.TraceListener
        {
            
    public MyTraceListener()
            {
                
            }
            
    public MyTraceListener(string name)
                : 
    base(name)
            {
                
            }

            
    public override void Write(string message)
            {
                
    throw new NotImplementedException();
            }

            
    public override void WriteLine(string message)
            {
                
    throw new NotImplementedException();
            }
        }
    }

    然后在Config文件中做配置 :

    Config
     <system.diagnostics>
        
    <trace autoflush="true" indentsize="4">
          
    <listeners>
            
    <!--注意命名空间和类名别写错-->
            
    <add name="MyTraceListener" type="Test.MyTraceListener,Test"/>
            
    <remove name="Default" />
          
    </listeners>
        
    </trace>
        
    <switches>
          
    <add name="XPO" value="3" />
        
    </switches>
      
    </system.diagnostics>

    或者在程序的入口点加上:

    // Remove the original default trace listener.
    Trace.Listeners.RemoveAt(0);

    // Create and add a new MyTraceListener.
    Trace.Listeners.Add(new MyTraceListener());

    这样Log内容想记哪儿都可以随自己喜欢了,MyTraceListener的具体实现就不展开了。 

    MSDN: TraceListener 类 

  • 相关阅读:
    C++ 解析CSV文件
    MFC/WTL 设置背景图和控件透明的方法
    VS2008安装x64版本所遇问题
    VS2012 安装番茄插件
    16年面试提问
    git 使用笔记
    03_运算符、键盘录入、流程控制
    02_java关键字、表识符、注释、进制转换、补码反码、数据类型转换
    01_计算机和java基础
    10 js一维数组、一维数组细节
  • 原文地址:https://www.cnblogs.com/Elvin/p/1664586.html
Copyright © 2011-2022 走看看