EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

日志文件

日志文件记录了应用程序运行期间的所有系统操作和最终用户操作。系统操作的示例包括:加载模型,为操作和属性编辑器生成默认模型以及加载模型差异。最终用户最常见的操作是执行操作-按下工具栏按钮等。如果任何操作导致错误或异常,则还将相应的信息写入日志文件。因此,如果出现问题,则日志文件使跟踪原因变得容易。如果您自己不能解决问题,则可以将日志文件发送到我们的支持中心,以获取Developer Express支持工程师的帮助。

每次运行应用程序时,日志文件都不会重写。新内容将添加到先前记录的信息下方。因此,如果需要,您可以分析多个应用程序运行。

XAF跟踪机制依赖于System.Diagnostics的相关命名空间中的标准.NET Framework日志记录API 。默认情况下,TextWriterTraceListener类通过DevExpress.Persistent.Base.Tracing类将所有应用程序事件写入eXpressAppFramework.log文件。从技术上讲,后者是标准跟踪侦听器之上的包装器。若要查看如何自定义此默认跟踪机制,请参阅上面链接的MSDN文章以及“添加自定义日志条目和自定义默认跟踪器行为”主题。

运行时生成的日志文件

eXpressApp框架可生产Windows窗体,ASP.NET和移动应用程序基于相同的逻辑。每个应用程序都有其自己的日志文件。

日志文件的位置在应用程序配置文件中由TraceLogLocation属性指定。以下代码段说明了这一点。

<configuration>
    <appSettings>
        <!-- ... -->
        <add key="TraceLogLocation" value="ApplicationFolder"/>

可能的TraceLogLocation值为:

价值 描述
应用文件夹 日志文件将保存到应用程序文件夹。Windows Forms应用程序将日志文件保存到应用程序可执行文件所在的文件夹中ASP.NET和Mobile应用程序将日志文件保存到default.aspx文件所在的文件夹中确保用于运行应用程序的系统帐户对该文件夹具有写权限。
CurrentUserApplicationDataFolder 日志文件将保存到当前用户ApplicationData文件夹。仅对Windows Forms应用程序有效。
没有任何 日志记录已禁用。建议在生产环境中使用此值,因为XAF中没有日志旋转机制。

默认情况下,该日志文件名为eXpressAppFramework.log。要指定另一个Windows Forms应用程序日志文件,请打开Windows Forms应用程序项目中的Program.csProgram.vb)文件。在实例化XAF应用程序对象之前,请在Main方法中设置Tracing类的LogName属性 。以下代码段对此进行了说明。

static class Program {
    // ...
    static void Main() {
        Tracing.LogName = "CustomLogFile";
        // ...
        MySolutionWindowsFormsApplication winApplication = 
            new MySolutionWindowsFormsApplication();
        //...

若要指定另一个ASP.NET应用程序日志文件,请打开位于ASP.NET应用程序项目中的Global.asax.csGlobal.asax.vb)文件。在实例化XAF应用程序对象之前,在Session_Start事件处理程序中设置Tracing类的LogName属性。以下代码段对此进行了说明。

public class Global : System.Web.HttpApplication {
    // ...        
    protected void Session_Start(Object sender, EventArgs e) {
        Tracing.LogName = "CustomLogFile";
        // ...
        WebApplication.SetInstance(Session, new MySolutionAspNetApplication());
        // ...

要指定另一个Mobile应用程序日志文件,请打开位于Mobile应用程序项目中的Global.asax.csGlobal.asax.vb)文件。在Session_Start事件处理程序中设置Tracing类的LogName属性。以下代码段对此进行了说明。

public class Global : System.Web.HttpApplication {
    // ...        
    protected void Session_Start(Object sender, EventArgs e) {
        Tracing.LogName = "CustomLogFile";
        // ...

.log ”扩展名会自动添加。

您也可以类似的方式指定日志文件的相对路径或绝对路径。例如,您可以将Tracing.LogName属性设置为“ Logs \ CustomLogFile”“ C:\ Logs \ CustomLogFile”。确保指定的位置可访问。否则,将不会创建日志文件。

注意

如果尝试写入正在使用的日志文件,则该文件名将自动以GUID(全局唯一标识符)为前缀。例如,有可能同时运行多个XAF应用程序。为避免使用前缀,请为每个应用程序指定一个自定义日志文件名。

您可以控制写入应用程序日志文件中的信息的详细程度。为此,您需要修改App.config(对于Windows Forms应用程序)或Web.config文件(对于ASP.NET Web和Mobile应用程序)中<system.diagnostics>标记的内容。该标签有两个条目-一个用于eXpressApp Framework本身,另一个用于控制eXpress持久性对象记录其操作的方式。对于这两个条目,您可以指定五个不同的详细信息级别:

等级 描述
0 日志记录已禁用。
1个 仅记录错误。
2个 错误和警告消息将写入日志文件。
3 除了先前的消息外,系统还会记录检测到的由系统或最终用户执行的操作。
4 使用此级别来创建最详细的日志文件。在此模式下,将启用所有安全系统记录器(权限处理器,中间层记录器,安全规则记录器)。

以下代码段将eXpressApp框架的级别设置为4 :

<configuration>
   <system.diagnostics>
      <switches>
         <add name="eXpressAppFramework" value="4" />
         <!--<add name="XPO" value="4" />-->
      </switches>
   </system.diagnostics>
</configuration>

除了系统写入日志文件的信息之外,您还可以手动将诊断信息写入日志文件。为此,请使用通过静态DevExpress.Persistent.Base.Tracing.Tracer属性提供的静态方法。有关这些日志记录方法的详细信息,请参阅“添加自定义日志条目和自定义默认跟踪器行为”

为设计人员生成的日志文件

在XAF应用程序上工作时,在加载应用程序设计器模块设计器模型编辑器时可能会遇到问题。对于这些设计师中的任何一个,都会生成日志文件。写入这些日志文件的信息可以帮助您解决所提出的问题。下表详细介绍了如何查找所需的日志文件:

设计师 日志文件名 日志文件位置
应用设计师 < ApplicationClassName > .Designer.log < SolutionName > .Win,< SolutionName > .Web或< SolutionName > .Mobile文件夹,具体取决于设计者无法调用的项目
模块设计师 < ModuleClassName > .Designer.log <解决方案名称> .Module,<解决方案名称> .Module.Win,<解决方案名称> .Module.Web或<解决方案名称> .Mobile文件夹,具体取决于设计者无法调用的项目
模型编辑器 Model.DesignedDiffs.log或Model.log,取决于模型编辑器是否为模块或应用程序项目调用失败。 <解决方案名称> .Module,<解决方案名称> .Module.Win,<解决方案名称> .Module.Web或<解决方案名称> .Mobile文件夹,具体取决于设计者无法调用的项目
相关文章

转载保留此链接,注明出处