私は*Messages*
バッファに大きく依存していますが、エントリにはタイムスタンプが付けられていません。
Emacsのメッセージバッファの各エントリにタイムスタンプを追加するにはどうすればよいですか?
したがって、このようなもの:
Loading /Users/gsl/lisp.d/init.el (source)...
No outline structure detected
For information about GNU Emacs and the GNU system, type C-h C-a.
Loading /Users/gsl/lisp.d/var/recentf...done
Error running timer: (wrong-number-of-arguments (lambda nil (setq gc-cons-threshold (* 64 1024 1024)) (message "WARNING: gc-cons-threshold restored to %S")) 1)
[yas] Prepared just-in-time loading of snippets successfully.
M-] is undefined
CHILDREN [2 times]
‘show-all’ is an obsolete command (as of 25.1); use ‘outline-show-all’ instead.
Invalid face reference: nil [33 times]
Auto-saving...done
Saving file /Users/gsl/lisp.d/init.el...
Wrote /Users/gsl/lisp.d/init.el
mwheel-scroll: Beginning of buffer [5 times]
Mark set
previous-line: Beginning of buffer [10 times]
Quit [4 times]
このようなものになります:
2017-02-14-18:50:01 Loading /Users/gsl/lisp.d/init.el (source)...
2017-02-14-18:50:02 No outline structure detected
2017-02-14-18:50:03 For information about GNU Emacs and the GNU system, type C-h C-a.
2017-02-14-18:50:05 Loading /Users/gsl/lisp.d/var/recentf...done
2017-02-14-18:50:10 Error running timer: (wrong-number-of-arguments (lambda nil (setq gc-cons-threshold (* 64 1024 1024)) (message "WARNING: gc-cons-threshold restored to %S")) 1)
2017-02-14-18:50:12 [yas] Prepared just-in-time loading of snippets successfully.
2017-02-14-18:50:40 M-] is undefined
2017-02-14-18:50:41 CHILDREN [2 times]
2017-02-14-18:50:00 ‘show-all’ is an obsolete command (as of 25.1); use ‘outline-show-all’ instead.
2017-02-14-18:50:01 Invalid face reference: nil [33 times]
2017-02-14-18:51:01 Auto-saving...done
2017-02-14-18:51:03 Saving file /Users/gsl/lisp.d/init.el...
2017-02-14-18:51:06 Wrote /Users/gsl/lisp.d/init.el
2017-02-14-18:51:09 mwheel-scroll: Beginning of buffer [5 times]
2017-02-14-18:51:11 Mark set
2017-02-14-18:51:21 previous-line: Beginning of buffer [10 times]
もちろん、EmacsWiki、Reddit、およびemacs.sxで検索しましたが、役に立ちませんでした。
私はを知っcommand-log-mode
ています。これはタイムスタンプでログに記録するように調整できますが、Emacsの「システム」メッセージを含むすべてのメッセージではなく、インタラクティブコマンドにのみ役立ちます。
代わりに、メッセージバッファーに記録されたすべてのメッセージにタイムスタンプを付ける必要があります。
ソースに関係なく、Emacsのメッセージバッファの各エントリにタイムスタンプを追加するにはどうすればよいですか?
after-change-functions
を実装するために(メッセージバッファーで)を使用する傾向があります。何かがバッファの最後に挿入されるときはいつでも、それにタイムスタンプを付けます。
message
コマンドはCで実装され、あなたは、すべてログに記録されたメッセージは、Emacsの自分自身を構築することなく、タイムスタンプを取得することを確認することができなくなりますので、おそらく、直接の呼び出し元を持っています。つまりmessage
、Elispから呼び出されたときにコマンドにタイムスタンプを導入するように指示できる場合があります。いくつかの注意が必要です。message
引数なし、空のフォーマット文字列などで呼び出すmessage
ことができます。タイムスタンプアドバイス自体がコードパスで呼び出された場合の再帰的なループも避けたいです。