Giter VIP home page Giter VIP logo

logview's People

Contributors

dakra avatar dependabot[bot] avatar doublep avatar jcs090218 avatar mcraveiro avatar syohex avatar xmacex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

logview's Issues

problems customising :! can't customise

firstly thanks for this great lib! (keeps emacs wonderful 😄 )

I'm trying to parse this kind of messages 2017-01-24T17:14:03,826 [main] ERROR my.package - my log message but after a while still no lucky
could you help me please?
this is the config that i tried (just editing current definition)
("ISO 8601 datetime" "yyyy-MM-ddTHH:mm:ss,SSS")

so this is your modified fn

(defvar logview-std-timestamp-formats
  ;; General notices: we silently handle both common decimal
  ;; separators (dot and comma).  In several cases there is optional
  ;; space if the day/hour number is single-digit.
  (let (formats)
    (dolist (data '(("ISO 8601 datetime + millis"  "yyyy-MM-dd HH:mm:ss.SSS}")
                    ("ISO 8601 datetime + micros"  "yyyy-MM-dd HH:mm:ss.SSSSSS")
                    ("ISO 8601 datetime"           "yyyy-MM-ddTHH:mm:ss,SSS")
                    ("ISO 8601 time only + millis" "HH:mm:ss.SSS")
                    ("ISO 8601 time only + micros" "HH:mm:ss.SSSSSS")
                    ("ISO 8601 time only"          "HH:mm:ss")
                    (nil                           "MMM d HH:mm:ss")
                    (nil                           "MMM d h:mm:ss a")
                    (nil                           "h:mm:ss a")))
      (push (list (or (car data) (cadr data)) (cons 'java-pattern (cadr data))) formats)
      (when (car data)
        (nconc (car formats) (list (list 'aliases (cadr data))))))
    (nreverse formats))
  "Alist of standard timestamp formats.
This value is used as the fallback for customizable
`logview-additional-timestamp-formats'.")

Can't get entries to be matched

I've set up the following:

Date format:
image

Filter:
image

Highlight test view:
image

Despite the above, no highlighting happens
image

Am I doing anything wrong?

guess-submode Option to Search Past 1st Line

It would be nice if there was an option that allows guess-submode to search past the first line in a log. Maybe even an optional numeric value that would allow this function to search up until that line? This way logview can guess logs with headers, but won't take excessively long to do so.

Support closer-to-ISO-8601 format for timestamps

When selecting a timestamp, it looks like the ISO-8601 format is not supported. For instance, a date like:

2017-09-15T20:23:45,029

Which is yyyy-mm-ddTHH:mm:ss,SSS

It's quite common to have the T indicator separating the date and time, however this is not one of the supported options.

Also, when I try to manually enter it (the format above) after selecting SLF4J as the mode, I get the following:

Debugger entered--Lisp error: (error "Internal error initializing submode ‘SLF4J’")
  signal(error ("Internal error initializing submode ‘SLF4J’"))
  error("Internal error initializing submode `%s'" "SLF4J")
  logview-choose-submode("SLF4J")
  funcall-interactively(logview-choose-submode "SLF4J")
  call-interactively(logview-choose-submode nil nil)
  command-execute(logview-choose-submode)

Timezone in timestamp

Hey - I have a log line like below, however the "-05:00" is causing issues:

Inf-2023-09-07T16:27:03.479361-05:[email protected]:stopThread:118=>Stopping thread

I've tried

(logview-additional-timestamp-formats
   '(("WithTimezone"
      (regexp . "[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}[+-][0-9]{2}:[0-9]{2}"))))

and

(logview-additional-timestamp-formats
   '(("WithTimezone"
      (java-pattern . "yyyy-MM-dd'T'HH:mm:ss.SSSSSSX"))))

however couldn't get either to work, with the latter giving the error message:

Warning (emacs): In Java timestamp pattern "yyyy-MM-dd'T'HH:mm:ss.SSSSSSX": Timezones are currently not supported

When I remove the "-05:00" I can get logview working. Thanks for creating such a great emacs mode!

Wishlist: allow for tunable display of fields

It would be great if one could selectively decide (on a per-field basis) which fields actually get displayed by 'logview' for each log line.

My log lines are typically annoyingly long and it would be great if i could only display the fields i'm actually interested in when viewing each file.

Ideally this would be dynamically tuned, maybe even stored as parameters for a view or something similar.

Maybe this could be implemented as some kind of extension of the already available notion of 'details' for a log entry. Currently, as the documentation explains, 'details' are the message lines after the first line, maybe this could be extended to include the various first line fields.

What do you think ?

Btw, did i tell you how great 'logview' was ?
Maybe in a previous issue, so let me repeat here :-)

Custom log format - how to deal with more dynamic log infos?

As I understand it, we can use the 4 known part types THREAD, NAME, TIMESTAMP and LEVEL, everything else in the format string will be interpreted literally.

I frequently deal with logs (on whose format I have no influence), which have lots of dynamic info on top of that. An example:
Tier-Name App-Name Server-Name Session-Id Timestamp Level ....
ServiceLayer MyApp SLServer1 12341234156131 2017-01-17 10:00:12.1234 DEBUG ....
Frontend MyApp FEServer2 12341234156132 2017-01-17 10:00:12.1234 DEBUG ....

Is it possible to match this format with the current version? If not, is it possible to get a new part, eg. FILLER or IGNORE, which matches a block of non-whitespace?

Do not default to `ido-completing-read`

Expected behavior

logview--completing-read should not default to ido-completing-read. helm-mode users may like to use Helm completion instead[1].

Instead, there should be a customizable variable, logview-completion-system, with (at least) two choices, ido and default.

[1]: In the future, I hope ido will be updated to behave like Helm and override completing-read so there's one standard interface for all completion.

Steps to reproduce (recipe)

N/A

Backtraces if some (M-x toggle-debug-on-error)

N/A

Describe versions of helm, emacs, operating system etc.

  • logview: 0.8
  • Emacs: 25.1.1
  • OS: Fedora 24

[Help] Unable to determine the log format

Hi @doublep ,

Thanks for the wonderful package!

Recently, I have started analyzing the Nextflow logs, https://pastebin.com/j2sGLY7K , but I was not able to set it up with logview.

The logging framework used in Nextflow is slf4j as mentioned here
https://github.com/nextflow-io/nextflow/blob/b3e2cdde5edc6152dbd0a38a571f0de5099ccb89/modules/nextflow/build.gradle#L24

I'd love to be able to rely upon logview to make my life simpler. Could you please help me out?

[Help] How to write format for thread name which do not have starter and terminator?

2023-07-19 14:10:02.736 GMT+08:00 DEBUG T: Subscription Manager Consumer Thread LottieLockView - loading from filesystem
2023-07-19 14:10:02.739 GMT+08:00 DEBUG T: pool-40-thread-1 LottieLockView - starting to play t4.json

Here is an example from my log, and my config is:
TIMESTAMP IGNORED LEVEL T: THREAD NAME - MESSAGE
But some threads like: Subscription Manager Consumer Thread have space in their name.

How can I deal with these thread names?
Currently these thread names are all end with 'Thread'

Manually set submode

The log files I use with logview do not have the message logview is looking for in the first line. Is it possible to manually set the mode? I thought about calling logview--initialize-submode, but I don't know what format the function arguments take.

I currently get round this by killing the text up to the first log message and save this as a separate file, however, I loose the auto-revert feature.

Any help is much appreciated, thanks,

Derek

logview-difference-to-current-entry seems broken

I recently installed logview and I'm experimenting with different commands. If I type z a, I get an error.

Example log:

2024-04-19 15:00:23.529003 [31652] DEBUG vh.App - get_supported_instance_extensions() - start
2024-04-19 15:00:23.572853 [31652] DEBUG vh.App - found instance extensions: 12
2024-04-19 15:00:23.576014 [31652] DEBUG vh.App -    0. VK_KHR_device_group_creation

z a on that first line leads to:

Debugger entered--Lisp error: (void-function nil)
  nil("2024-04-19 15:00:23.529003")
  #f(compiled-function () #<bytecode -0x117102b1bd31b9b2>)()
  #f(compiled-function () #<bytecode -0x84ee57d83187807>)()
  internal--without-restriction(#f(compiled-function () #<bytecode -0x84ee57d83187807>) long-line-optimizations-in-command-hooks)
  #f(compiled-function () #<bytecode -0x1de6b678879aefed>)()
  internal--without-restriction(#f(compiled-function () #<bytecode -0x1de6b678879aefed>) long-line-optimizations-in-fontification-functions)
  logview--do-temporarily-widening(#f(compiled-function () #<bytecode -0x117102b1bd31b9b2>))
  logview-difference-to-current-entry()
  funcall-interactively(logview-difference-to-current-entry)
  command-execute(logview-difference-to-current-entry)

Simple examples of custom formats and setup

I'm having issues setting up which I'm working through, but it's not been obvious to me, partially because I'm not that familiar with Emacs. Having a couple of copy & paste example custom configurations would be useful on your main github page, which might also be adapted to answer questions:

  • Does [ need escaping? (I think not given your default format).
  • Does it need to be an exact match on whitespacing and surrounding characters?
  • Presumably commas are allowable
  • Why does it need to understand the timezone? (See below)

I managed eventually to put the following in my spacemacs file.

 (setq logview-additional-submodes
      ("CUSTOM" . ((format  . "LEVEL, NAME, \"TIMESTAMP\", THREAD, \"[IGNORE] []")
                         (levels  . "SLF4J")
                         (aliases . ("Custom2")))
       )))

However it's not working (and the dangling double quote isn't a mistake), but it may also be due to the following:
datetime--determine-system-timezone: Failed to determine system timezone; consider customizing ‘datetime-timezone’ variable

It doesn't guess my format correctly and when I select it it asks for the time format which I enter manually (as : yyyy-MM-dd HH:mm:ss.SSS after which I get the error message.

I imagine this is an Emacs for Windows issue?

I've just figured out that if I start typing "ISO 8601 datetime + millis" then I get the right alternative selection (thought i could start typing yyy), but then it fails with:
logview-choose-submode: Internal error initializing submode ‘Custom2’ [2 times]

Looking forward to see the tool in action.

Is there a way to contribute non-standard submodes

I spend some time configuring additional submode for viewing CUPS (printing system) 'error_log' file with is usually located at /var/log/cups/error_log

The problem was that THREAD field that was optional and I had to use regex in format.

I ended up with following and it works for me. I was wondering how I should to contribute this little bit as this could be too specific for adding to logview-std-submodes.

(setq logview-additional-submodes
        '(("CUPS(error_log)"
           (format . "LEVEL [TIMESTAMP]<<RX:THREAD:\\(?:[ \t]+\\[[^]\n]+\\][ \t]+\\|[ \t]+\\)>>MESSAGE")
           (levels . "CUPS(error_log)")
           (timestamp . ("CUPS(error_log)")))))
  (setq logview-additional-level-mappings 
        '(("CUPS(error_log)"
           (error "E")
           (warning "W")
           (information "I")
           (debug "D")
           (trace))))
  (setq logview-additional-timestamp-formats
        '(("CUPS(error_log)"
           (java-pattern . "dd/MMM/yyyy:HH:mm:ss Z"))))

Color surrounding portions of log lines

How do I add color markers to my log format? My log lines look like:

[THREAD] �[0m[LEVEL] [TIMESTAMP] [NAME]: MESSAGE�[0m

The color before level is different for different levels.

Add RFC 5424, ie. syslog levels

Hi, thanks for a great package. Encouraged by what the README suggests, may I propose adding the logging levels from RFC 5424 The Syslog Protocol to logview-std-level-mappings? The standard syslog uses that hierarchy of levels, and so does e.g. Monolog, a PHP logging framework.

It is the following:

In Emacs, I personally have added to logview-additional-level-mappings the following

("RFC 5424"
 (error "EMERGENCY, ALERT, CRITICAL, ERROR")
 (warning "WARNING")
 (information "NOTICE, INFO")
 (debug "DEBUG")
 (trace)
 (aliases "syslog"))

and I use that e.g. with Monolog, with the following in my logview-additional-submodes

("Monolog"
 (format . "[TIMESTAMP] NAME[THREAD].LEVEL: MESSAGE")
 (levels . "RFC 5424"))

Read-only on buffers not visiting a file => error

A buffer with output of a log stream (STDOUT) causes emacs errors as log messages are written. If I disable read-only-mode, all is good.

error in process filter: Buffer is read-only: #<buffer *nrepl-server*>

modes derived from logview cannot refine font-lock

Hi,

I'm trying to come up with a derived mode. This currently corresponds of a logview submode configuration (which could be integrated here) but also of additional font-lock keywords and extra navigation code (future work). It currently looks like this:

;;; Commentary:

;; This file provides a major mode (`robot-log-mode') for highlighting
;; RobotFramework debug logs.  This mode was inspired by
;; `guix-build-log' from the `emacs-guix' package; thanks!

;;; Code:

(require 'logview)

;;; TODO
;;; - Foldable hierarchy + select functions (root, level 1, 2, etc.)


;;;
;;; Regexps.
;;;

(defvar robot-log-keyword-start-regexp
  "\\+-* START KEYWORD: \\(.*\\) \\[\\(.*\\)\\]"
  "Regexp for the start line of a keyword.")

(defvar robot-log-keyword-end-regexp
  "\\+-* END KEYWORD: \\(.*\\) (\\(.*\\))"
  "Regexp for the ending line of a keyword.")

(defvar robot-log-imenu-generic-expression
  `((nil robot-log-keyword-start-regexp 1))
  "Imenu generic expression for `robot-log-mode'.")


;;;
;;; Font lock configuration.
;;;

(defface robot-log-keyword-start
  '((default :weight bold))
  "Face for RobotFramework keywords (start).")

(defface robot-log-keyword-arguments
  '((default :foreground "LightBlue"))
  "Face for RobotFramework keyword arguments.")

(defface robot-log-keyword-end
  '((default :weight bold))
  "Face for RobotFramework keywords (end).")

(defface robot-log-keyword-exit-status
  '((default :foreground "LightGreen"))
  "Face for RobotFramework keyword exit statuses.")

(defvar robot-log-font-lock-keywords
  `((,robot-log-keyword-start-regexp
     (1 'robot-log-keyword-start)
     (2 'robot-log-keyword-arguments))
    (,robot-log-keyword-end-regexp
     (1 'robot-log-keyword-end)
     (2 'robot-log-keyword-exit-status)))
  "A list of `font-lock-keywords' for `robot-log-mode'.")


;;;
;;; Navigation.
;;;

;;; TODO
(defvar robot-log-common-map
  (let ((map (make-sparse-keymap)))
    (define-key map (kbd "SPC") (lambda () (message "test\n"))  ;'robot-log-next-keyword
      )
    ;; (define-key map (kbd "M-p") 'robot-log-previous-keyword)
    ;; (define-key map (kbd "TAB") 'robot-log-keyword-toggle)
    ;; (define-key map (kbd "<tab>") 'robot-log-keyword-toggle)
    ;; (define-key map (kbd "<backtab>") 'robot-log-toggle-all)
    ;; (define-key map [(shift tab)] 'robot-log-toggle-all)
    map)
  "Parent keymap for 'robot-log' buffers, adding or overriding
extra keys on top of those of `logview-mode'.")

(defvar robot-log-mode-map
  (let ((map (make-sparse-keymap)))
    (set-keymap-parent map (make-composed-keymap
                            (list robot-log-common-map)
                            logview-mode-map))
    map)
  "Keymap for `robot-log-mode' buffers.")

;;; TODO: Contribute upstream.  This needs to be at the top level so
;;; that the parent logview-mode knows its definition before it is
;;; initialized.
(add-to-list 'logview-additional-level-mappings
             '("RobotFramework"
               (error       "FAIL")
	       (warning     "WARNING")
	       (information "INFO" "HTML")
	       (debug       "DEBUG")
	       (trace       "TRACE")
	       (aliases "RF" "Robot")))

(add-to-list 'logview-additional-timestamp-formats
             '("RobotFramework"
               (java-pattern . "yyyyMMdd HH:mm:ss.SSS")
               (datetime-options :any-decimal-separator t)
               (aliases "Robot" "RF")))

(add-to-list 'logview-additional-submodes
             '("RobotFramework"
               (format . "TIMESTAMP - LEVEL - MESSAGE")
               (levels . "RobotFramework")
               (timestamp "RobotFramework")
               (aliases "RF" "Robot")))

;;;###autoload
(define-derived-mode robot-log-mode logview-mode
  "Robot-Log"
  "Major mode for viewing RobotFramework debug logs.

\\{robot-log-mode-map}"
  ;;(font-lock-add-keywords nil robot-log-font-lock-keywords t)

  (setq font-lock-defaults '(robot-log-font-lock-keywords t)
        imenu-generic-expression robot-log-imenu-generic-expression))

(provide 'robot-log)

The problem I'm having is that my font-lock-defauts are not honored. After investigating and reading, this seems to be caused by logview directly overriding the internal font-lock-fontify-region-function procedure. In info 'elisp (Font Lock Basics)', it says:

There are several variables that control how Font Lock mode
highlights text. But major modes should not set any of these variables
directly. Instead, they should set ‘font-lock-defaults’ as a
buffer-local variable. The value assigned to this variable is used, if
and when Font Lock mode is enabled, to set all the other variables.

font-lock-defaults can be provided with OTHER-VARS, which includes font-lock-fontify-region-function, so I think logview should use font-lock-defaults to bind #'logview--fontify-region to font-lock-fontify-region-function. Do you think that'd help with my issue?

Thank you for this useful mode!

Awesome mode!

Thank you for this! This is everything I've been looking for basically :)

Can't believe this has only 120 stars...

Thank you so much for this package

I recently had to sift through insane amounts of test and system logs at work - all with nonstandard formats and absolutely no tooling support. With just a few additions to logview-additional-submodes and logview-additional-timestamp-formats this turned from blankly staring at a massive wall of text into me being able to efficiently work with, understand and mentally process those logs. You have no idea how happy you've made me with this awesome package, so I'd like to say thank you very much for it 💖

Feel free to close this :)

Epoch Time Support

I am trying to get my logs to be recognized and at the moment it seems like the big issue is the time stamp. My company uses epoch time (sorta). The time stamp is "10DigitEpochTime us". The number of micro seconds will always have 6 entries, either numbers or spaces (i.e. no leading zeros). I tried the following, but whenever I try to use it I am asked for a timestamp format.

(setq logview-additional-timestamp-formats
     '(("CUSTOM" (regexp . "[0-9]{10} [ 0-9]{6}")))
  )
(setq logview-additional-level-mappings
     '(("CUSTOM"
        (error "ERROR")
        (warning "WARN")
        (information "INFO")
        (debug "DEBUG")
        (trace)
        (aliases))))
(setq logview-additional-submodes
     '(("CUSTOM"
         (format . "[TIMESTAMP THREAD LEVEL]")
         (levels . "CUSTOM")
         (timestamp "CUSTOM")
         (aliases)))
  )

Auto-reverting does not work over Tramp

Hi, I don't think the Auto-Revert and Auto-Revert-Tail modes work on buffers which are opened over Tramp, from remote hosts. I've tried, and auto-revert on local files works fine.

I am not familiar with Emacs file abstractions etc. and how/why would Logview know or care if things are over Tramp or not, and I don't see a variable to adjust the (perhaps reasonable and preferable) observed behavior of not reverting over Tramp, but if there is anything I should know (e.g. about some variable to set outside of logview-*) or I can help with, let me know :)

Logview is a very nice mode, and comes with useful functionality for development and admin work 🚀

Wishlist: do not ALWAYS behave as if format string ends with whitespace.

Hi!

First let me provide you with the usual praise for your wonderful 'logview' package,
I've been long wishing for something similar, and was more than delighted when discovering it actually existed!

Now for the complaining part :-)
Well, it's not really a complaint, but a question rather.

I'm using logview to parse logback generated files but with a slightly specific/unusual format, in that log lines are using '|' as a field separator rather than space characters.

Here is an example:

2017-04-11 09:33:01.067|WARN|vspar-iris-v-fromsr2|[http-nio-10.136.28.58-8082-exec-4]|com.profium.afp.connector.ConnectorProductManager:409|CONSOLE-2.16.0.201703161620-1491903155823-HLAFARGE|102|No path found for product [Test NLR FR No limit 01 - EN DIRECT]

I've been able to make it work almost using the following customized definition for logview-additional-submodes:

(setq logview-additional-submodes
'(("DILI" (format . "TIMESTAMP|LEVEL|IGNORED|[THREAD]|IGNORED|NAME|IGNORED|") (levels . "SLF4J"))))

my only remaining problem using that definition seems to come from the following lines in logview.el:

;; Always behave as if format string ends with whitespace.
(unless (string-match "[ \t]$" format)
(push "[ \t]+" parts))

when commenting out those two lines, i get logview to recognize my log files content allright.

Not sure if there is another way to achieve my goal, or if maybe you could make a change to allow
for not 'always' behaving as if format string ends with whitespace.

Kudos again for the fantastic module!

Selecting an alias submode does not work

When I hit C-c C-c and select Log4j2 as the submode, I get the following error:

Debugger entered--Lisp error: (error "Unknown submode ‘Log4j2’")
  signal(error ("Unknown submode ‘Log4j2’"))
  error("Unknown submode `%s'" "Log4j2")
  logview-choose-submode("Log4j2")
  funcall-interactively(logview-choose-submode "Log4j2")
  call-interactively(logview-choose-submode nil nil)
  command-execute(logview-choose-submode)

The same thing for all the aliases, it works if I select SLF4J however

Wishlist: make the list of format fields (TIMESTAMP, NAME, THREAD, LEVEL) extensible

it would be a great feature i believe if it was possible to extend the list of fields recognized in the 'format' specification for a submode definition.

This would be especially useful in conjunction to other field related functionality such as filtering or my requested feature for allowing dynamic selection of fields to display for each log line.

I have no idea how difficult this would be to implement, but i think it would come as a nice enhancement to that already feature-rich module!

To illustrate what i'm talking about here, my current logfiles look something like:

2017-04-11 09:33:01.086|INFO|vspar-iris-v-fromsr2|[http-nio-10.136.28.58-8082-exec-4]|com.profium.afp.connector.FileNamer:143|CONSOLE-2.16.0.201703161620-1491903155823-HLAFARGE|102|returning processed string [d.afp.com/QE5ZA] after prefix removal [http://] for given input [http://d.afp.com/QE5ZA]

and i'm currently using the following specification to parse them:

(setq logview-additional-submodes
'(("DILI" (format . "TIMESTAMP|LEVEL|IGNORED|[THREAD]|IGNORED|NAME|IGNORED|") (levels . "SLF4J"))))

What i'd like to be able to do instead is to replace 'IGNORED' in the various places i'm using it with tailored field names that i would provide the needed information for, so that logview knows how to handle them properly.

Commands Not Assigned In read-only-mode

Hi,

I installed the package from melba, and didn't add anything to my .emacs file.

Now, when I open a file, I get a message saying that longview doesn't recognize the log format (which I expect – this is not a common log format).

However, when I do M-x read-only-mode RET, pressing characters just tells me that the buffer is read-only and can't be edited.

Am I doing something wrong?

Thanks!

package-install not working

Contacting host: melpa.org:443
url-insert-file-contents: https://melpa.org/packages/logview-20170127.1107.el: Not found

Problem detecting log file using boost log format

Hi,

I am contemplating using LogView instead of log4J but I can't get it to process my log files. The format is fairly straightforward, I think:

2016-02-04 22:32:40.994975 [INFO] [knit.workflow] Starting.
2016-02-04 22:32:40.995986 [DEBUG] [knit.workflow] Knitting options:  { "__type__": "dogen::config::knitting_options", "verbose": true, "input":  { "__type__": "dogen::config::input_options", "target":  { "__type__": "dogen::config::input_descriptor", "path": "/home/marco/Development/DomainDrivenConsulting/dogen/build/output/gcc-5/stage/bin/../test_data/yarn.dia/input/boost_model.dia", "external_modules": "dogen::test_models", "is_target": false }, "references": [ ]  }, "output":  { "__type__": "dogen::config::output_options", "delete_extra_files": true, "force_write": false, "ignore_patterns": [ ]  }, "cpp":  { "__type__": "dogen::config::cpp_options", "project_directory_path": "/home/marco/Development/DomainDrivenConsulting/dogen/build/output/gcc-5/stage/bin/../test_data/boost_model/actual", "disable_cmakelists": false } }
2016-02-04 22:32:40.996029 [DEBUG] [dynamic.repository_workflow] Generating repository.

I tried setting up the following:

(setq logview-additional-submodes
      '(("dogen"
         (format . "TIMESTAMP [LEVEL] [NAME] -")
         (levels . "SLF4J"))))

However, LogView is not able to recognise my file. I'm sure I'm making a trivial mistake somewhere but not sure where. Can you please point me in the right direction?

Many thanks for your time.

Marco

Warning when logview.views file is missing

If I don't have a logview.views file, I expect no problems, but I always get this warning:

Warning (emacs): Opening input file: no such file or directory, /home/telliott/.emacs.d/logview.views

It seems that (file-missing) is not catching and I'm falling through to (file-error (warn "%s" (error-message-string error)))

GNU Emacs 24.4.1

Syntax highlighting -- conflicts with whitespace-mode when buffer text is updated in any way

Hey there. I'm having an issue with syntax highlighting and I'm not sure if it's expected behavior.

Problem

Syntax highlighting appears to work only for the portion of the logfile visible on-screen when first applying the submode to the logfile.

When viewing a logfile in Logview mode, with auto-revert-tail-mode on, the file is tailed in the buffer as expected, but new lines lack syntax highlighting.

Syntax highlighting will also be absent when navigating the buffer to older portions of the logfile.

To reproduce:

Load a logfile. I've tried both with a custom submode format on an application logfile, originally, and then with /var/log/system.log. The latter was not autodetected -- I choose a submode name of 'UNIX' and a date format of 'MMM d HH:mm:ss'.

Environment

GNU Emacs 25.1.1 on OSX 10.11.6

Great tool, thanks!

Support Android's Logcat

I propose support for Android's logcat format.

Scope

  • Support default logcat format (not brief, long, etc.)
  • Log level colorization
  • Inclusive + Exclusive Filtering by tag regex, PID, message regex

Details

Android Logcat looks like this example.

...
02-15 08:00:12.370  2009  2009 I MediaCodecsXmlParser: limit: blocks-per-second-range = 1-489600
02-15 08:00:12.370  2009  2009 I MediaCodecsXmlParser: limit: bitrate-range = 1-60000000
02-15 08:00:12.370  2009  2009 I MediaCodecsXmlParser: limit: feature-adaptive-playback = 0
02-15 08:00:12.370  2009  2009 I MediaCodecsXmlParser: limit: max-concurrent-instances = 4
02-15 08:00:12.370  2009  2009 I MediaCodecsXmlParser: limit: performance-point-1920x1080-range = 50-50
02-15 08:00:12.370  2009  2009 I MediaCodecsXmlParser: limit: size-range = 32x32-1920x1080
...

Or more concisely, date time PID TID log-level tag: message

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.