【问题标题】:Syntax highlighting (in Emacs) for SQL code in log files日志文件中 SQL 代码的语法高亮显示(在 Emacs 中)
【发布时间】:2017-01-23 03:15:05
【问题描述】:

我们如何使用 Emacs 突出显示某些日志文件中的 SQL 代码?

示例日志文件:

[DEBUG][2016-05-26 09:04:51,714][FileHelper] - [realContextPath=[/server.xml]]
[DEBUG][2016-05-26 10:24:22,369][DbConnectionImpl] - [DELETE FROM xct_log]
[DEBUG][2016-05-26 11:00:46,925][DataSourceRestrictionConverter] - [parseRestrictions]
[DEBUG][2016-05-26 10:24:22,476][DbConnectionImpl] - [UPDATE hlpdsk_step_log
SET table_name= 'hxct_log' WHERE
 table_name='xct_log' AND pkey_value = 247296]

目标是在 SQL 代码后面加上浅黄色背景,即:

  • 在最后一个 [...] 之间找到的代码(可以在多个物理行上,如日志示例的最后一行所示)和

  • 在“源”(第 3 个括号对)为“DbConnectionImpl”的行中找到代码。

如果可能,黄色背景应该只在最后两个括号之间,在右边的行上。

【问题讨论】:

    标签: emacs syntax syntax-highlighting highlight


    【解决方案1】:

    因为它是 Emacs,我相信你想要的东西是可能的,但它似乎需要很多自定义的 elisp 代码,而我将无法提供。

    我在类似情况下所做的只是使用M-x sql-mode 将整个缓冲区放入sql-mode。这样,您的所有 SQL 关键字都将突出显示,并且大多数其他内容都将保持默认文本颜色。当您扫描日志文件时,您的所有 SQL 代码都应该脱颖而出(我认为这是您的最终目标)。

    【讨论】:

    • 感谢您的提示。不过,问题是我只对“DbConnectionImpl”行中的 SQL 代码感兴趣——而且其他日志行中也有很多(几乎重复的)SQL 代码(我无法禁用)。
    • @user3341592 明白了。嗯,希望你能找到解决办法。如果您在此处没有得到答案,请尝试将此问题移至 emacs.stackexchange.com
    猜你喜欢
    • 1970-01-01
    • 2020-11-08
    • 1970-01-01
    • 2014-10-27
    • 1970-01-01
    • 1970-01-01
    • 2011-02-03
    • 2019-01-03
    • 2014-05-01
    相关资源
    最近更新 更多