ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Nginx Log Highlighter

by jakebathman ST3

A Sublime Text 3 package that adds support for NGINX log syntax highlighting

Details

  • 1.1.0
  • github.​com
  • github.​com
  • 3 months ago
  • 32 minutes ago
  • 4 months ago

Installs

  • Total 329
  • Win 135
  • OS X 125
  • Linux 69
Jan 21 Jan 20 Jan 19 Jan 18 Jan 17 Jan 16 Jan 15 Jan 14 Jan 13 Jan 12 Jan 11 Jan 10 Jan 9 Jan 8 Jan 7 Jan 6 Jan 5 Jan 4 Jan 3 Jan 2 Jan 1 Dec 31 Dec 30 Dec 29 Dec 28 Dec 27 Dec 26 Dec 25 Dec 24 Dec 23 Dec 22 Dec 21 Dec 20 Dec 19 Dec 18 Dec 17 Dec 16 Dec 15 Dec 14 Dec 13 Dec 12 Dec 11 Dec 10 Dec 9 Dec 8 Dec 7
Windows 0 1 1 0 4 1 0 1 0 1 2 0 4 1 2 8 2 2 1 0 0 0 1 2 0 1 1 0 0 0 0 1 0 0 0 1 1 1 1 2 5 1 1 1 2 0
OS X 0 1 1 1 3 2 0 0 0 1 2 1 2 1 1 1 0 1 0 0 1 0 0 4 0 1 0 2 2 0 1 0 0 1 1 0 0 2 1 1 0 2 2 1 0 1
Linux 0 0 1 0 0 0 0 1 0 0 1 1 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 2 0 1 1 1 0 0 1 2

Readme

Source
raw.​githubusercontent.​com

Nginx Log Highlighting

A Sublime Text 3 package that adds support for NGINX access log syntax highlighting.

The expected format is:

remote_addr - remote_user [time_local]request_verb request_endpoint request_resultstatus body_bytes_senthttp_referer” “http_user_agent” “http_x_forwarded_for

Where the three http* elements after body_bytes_sent are optional.

How do I use this?

  1. Open an access.log file in Sublime, or paste a few log lines in an empty tab.
  2. In the Command Palette, select Set Syntax: Nginx Log. You can also change the syntax in the lower-right menu.
  3. That's it! If you want to change some colors, see below.

Example

Here's an example NGINX log output line, which can also be used to test your color scheme:

192.168.42.24 - - [31/Oct/2017:20:19:18 +0000] "GET /foo/request/index.php?bar=baz HTTP/1.1" 200 33441 "http://example.com/referer" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36" "-"

Default colors

Using a default scheme, you'll see some color variation, e.g.:

IDLE

screenshot_lite

Solarized-dark

screenshot_dark

Custom colors

The syntax of a log line is parsed into multiple scopes. Using the example line above, here are the assigned scopes (all prefixed with text.nginx meta.nginx.log):

Built-In Scope Custom Scope Log piece
keyword remote_addr 192.168.42.24
comment spacer -
text remote_user -
string time_local [31/Oct/2017:20:19:18 +0000]
constant request_type GET
support.function request /foo/request/index.php?bar=baz
keyword.operator request_result HTTP/1.1
keyword.other status 200
entity.other.attribute-name body_bytes_sent 33441
entity.name.tag http_referer http://example.com/referer
constant.numeric http_user_agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36
string http_x_forwarded_for -

The built-in scopes don't necessarily correspond to the log piece type; they're simply different scopes that most robust themes include a different color for, and will help make your log statements stand out without adding custom theme definitions.

If you do want to style each piece yourself, add a style definition for each scope to your .tmTheme file, like this:

<dict>
        <key>name</key>
        <string>remote_addr</string>
        <key>scope</key>
        <string>text.nginx meta.nginx.log remote_addr</string>
        <key>settings</key>
        <dict>
            <key>foreground</key>
            <string>#FF4D4D</string>
        </dict>
    </dict>

TO-DO

  • [ ] Add support for other log formats (or a custom format)
  • [x] Add theme file and/or example color scheme definitions