unidac记录日志

1)SQL日志记录

TUniSqlMonitor的OnSql事件里面记录SQL日志,演示代码如下:

procedure TfrmDB.UniSQLMonitor1SQL(Sender: TObject; Text: String;
Flag: TDATraceFlag);
begin
sfLogger.logMessage('Sql: ' + Text);
end;

2)错误日志记录

TUniConnection的OnError事件,演示代码如下:

procedure TfrmDB.conError(Sender: TObject; E: EDAError; var Fail: Boolean);
begin
sfLogger.logMessage('Error: ' + E.Message);
end;

测试运行,生成如下日志内容:

10:30:05:547[message][PID:10520,ThreadID:12824]:config.db连接成功
10:30:05:549[message][PID:10520,ThreadID:12824]:创建帐套号:0 数据库类型:SQL Server 数据库IP:127.0.0.1,8829 数据库名称:yndb 创建连接数量:10
10:30:05:563[message][PID:10520,ThreadID:12824]:启动中间件
10:30:05:563[message][PID:10520,ThreadID:12824]:sql: Connect: @
10:30:05:564[message][PID:10520,ThreadID:12824]:sql: Disconnect: @
10:30:05:564[message][PID:10520,ThreadID:12824]:sql: Connect: @
10:30:05:565[message][PID:10520,ThreadID:12824]:config.db连接成功
10:30:17:715[message][PID:10520,ThreadID:2016]:sql: Connect: sa@127.0.0.1,8829
10:30:17:736[message][PID:10520,ThreadID:2016]:yndb 数据库连接成功
10:30:17:737[message][PID:10520,ThreadID:2016]:sql: select * from t3
10:30:17:738[message][PID:10520,ThreadID:2016]:select * from t3

10:30:17:738[message][PID:10520,ThreadID:2016]:sql: Disconnect: sa@127.0.0.1,8829
10:30:25:471[message][PID:10520,ThreadID:8516]:sql: Connect: sa@127.0.0.1,8829
10:30:25:476[message][PID:10520,ThreadID:8516]:yndb 数据库连接成功
10:30:25:476[message][PID:10520,ThreadID:8516]:sql: select * from t2
10:30:25:480[message][PID:10520,ThreadID:8516]:sql: Error: 对象名 't2' 无效。
10:30:25:480[message][PID:10520,ThreadID:8516]:对象名 't2' 无效。
10:30:25:480[message][PID:10520,ThreadID:8516]:TMyClientContext.QuerySQL 对象名 't2' 无效。
10:30:25:480[message][PID:10520,ThreadID:8516]:sql: Disconnect: sa@127.0.0.1,8829

unidac记录日志的更多相关文章

  1. .NET Core的日志[1]:采用统一的模式记录日志

    记录各种级别的日志是所有应用不可或缺的功能.关于日志记录的实现,我们有太多第三方框架可供选择,比如Log4Net.NLog.Loggr和Serilog 等,当然我们还可以选择微软原生的诊断框架(相关A ...

  2. .NET Core下的日志(1):记录日志信息

    记录各种级别的日志是所有应用不可或缺的功能.关于日志记录的实现,我们有太多第三方框架可供选择,比如Log4Net.NLog.Loggr和Serilog 等,当然我们还可以选择微软原生的诊断机制(相关A ...

  3. Log4j记录日志步骤

    记录日志对调试Bug很有帮助  亲身体会 个人习惯用Log4J,大家可以在apache网站:jakarta.apache.org/log4j 可以免费下载到Log4j最新版本的软件包. Log4j支持 ...

  4. [转]C# 使用Nlog记录日志到数据库

    本文转自:http://www.cnblogs.com/weixing/archive/2013/04/26/3044422.html 摘要]Nlog是一个很不错的.NET日志记录组件,它可以将日志输 ...

  5. Log4Net记录日志的使用

    Log4net 基本样式: <log4net> <appender name="LogFileAppender" type="log4net.Appen ...

  6. .NET中使用NLog记录日志

    以前小编记录日志使用的是Log4Net,虽然好用但和NLog比起来稍显复杂.下面小编就和大伙分享一下NLog的使用方式. 引用NLog.Config 在使用NLog之前,我们要首先添加对NLog.Co ...

  7. 如何配置Log4Net使用Oracle数据库记录日志

    最近在做一个项目的时候,需要增加一个日志的功能,需要使用Log4Net记录日志,把数据插入到Oracle数据库,经过好久的研究终于成功了.把方法记录下来,以备以后查询. 直接写实现方法,分两步完成: ...

  8. [Python]logging模块使用basicConfig后记录日志重复问题

    logging.basicConfig配置日志记录到文件A后,再使用logging.FileHandler生成记录到文件B的logger 在使用此logger记录日志时,会同时记录的文件A和文件B,感 ...

  9. Log4net 记录日志

    配置文件 备注,需要放到根目录下面 <?xml version="1.0" encoding="utf-8"?> <configuration ...

随机推荐

  1. 爬虫基础库之beautifulsoup的简单使用

    beautifulsoup的简单使用 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: ''' Beautiful Soup提供一些简单的.p ...

  2. WP主题模板制作修改教程

    WP主题模板制作修改教程 实际上,当我们打开某个主题的文件夹时,看到的并不止这两个文件,而是更多.但一般来说,在一个完整的 WP 主题文件夹中都应该包含下列文件(也称为模板文件):页面 模板文件 用途 ...

  3. linux中忘记root密码解决方案

    方法一: 如果用户具有sudo权限,那么直接可以运行如下命令: #sudo su root #passwd #更改密码 或者直接运行sudo passwd root命令就可以直接更改root密码. 有 ...

  4. 深入理解JS各种this指向问题

    说到this,入前端坑的人都知道这是JS初期语言毕竟之路.很多人(我就是)对于this的了解很模糊,或者不够全面.最近打算在反过来在看下es6,在es6中又出现了箭头函数对于this的理解有多了层认识 ...

  5. LoadRunner项目结合抓包工具

    LoadRunner项目结合抓包工具 常见的抓包工具包括:     1. Http协议   报文分为"请求","应答"两大类. 请求: 方法-URL-协议/版本 ...

  6. Java经典设计模式之五大创建型模式

    转载: Java经典设计模式之五大创建型模式 一.概况 总体来说设计模式分为三大类: (1)创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. (2)结构型模式,共七种: ...

  7. SpringMVC框架 之 from标签(转)

    原文地址:http://blog.csdn.net/kutim/article/details/46682547 spring表单标签   <%@taglib uri="http:// ...

  8. 如何正确地使用Java的@deprecated标注

    没有什么事情比看到一个没有任何说明的@deprecated标注更让人愤怒的事情了.这种做法只能让人困惑,我到底还要不要用这个已经‘废弃’的方法?如果开发者不希望某个方法再被人用的话,就要好好地为@de ...

  9. 应用程序首选项(application preference)及数据存储

    应用程序首选项(application preference)用来存储用户设置,考虑以下案例: a. 假设有一款MP3播放器程序,当用户调节了音量,当下次运行该程序时,可能希望保持上一次调节的音量值. ...

  10. C和指针之学习笔记(6)

    第17章 经典数据结构类型 堆栈 堆栈接口提供三种基本的操作:push.pop 和 top. Push:把一个新值压入到堆栈的顶部. Pop: 只把顶部元素从堆栈中移除,它并不返回这个值. Top: ...