summaryrefslogtreecommitdiffstats
path: root/docs/tutorials
diff options
context:
space:
mode:
Diffstat (limited to 'docs/tutorials')
-rw-r--r--docs/tutorials/playground/index.md9
-rw-r--r--docs/tutorials/playground/logs/access_log.gzbin0 -> 36529 bytes
-rw-r--r--docs/tutorials/playground/logs/messages.gzbin0 -> 14034 bytes
-rwxr-xr-xdocs/tutorials/playground/run.sh16
-rw-r--r--docs/tutorials/playground/text/markdown-sample.md157
-rw-r--r--docs/tutorials/tutorial-lib/configs/tutorial1/config.json18
-rw-r--r--docs/tutorials/tutorial-lib/formats/tutorial-lib/lnav-tutorial-key-handler.lnav29
-rw-r--r--docs/tutorials/tutorial-lib/formats/tutorial-lib/tutorial.sql154
-rw-r--r--docs/tutorials/tutorial1/index.md145
-rwxr-xr-xdocs/tutorials/tutorial1/run.sh16
-rw-r--r--docs/tutorials/tutorial1/tutorial1.glog100
11 files changed, 644 insertions, 0 deletions
diff --git a/docs/tutorials/playground/index.md b/docs/tutorials/playground/index.md
new file mode 100644
index 0000000..e1516b1
--- /dev/null
+++ b/docs/tutorials/playground/index.md
@@ -0,0 +1,9 @@
+
+# Playground
+
+Welcome to the **lnav** playground!
+
+There are some sample files loaded into the log and text views.
+Press `q` to switch back to the log view and start exploring.
+You can also press `f` in this view to switch to the other
+text files that are loaded, like a markdown sample.
diff --git a/docs/tutorials/playground/logs/access_log.gz b/docs/tutorials/playground/logs/access_log.gz
new file mode 100644
index 0000000..485cf4e
--- /dev/null
+++ b/docs/tutorials/playground/logs/access_log.gz
Binary files differ
diff --git a/docs/tutorials/playground/logs/messages.gz b/docs/tutorials/playground/logs/messages.gz
new file mode 100644
index 0000000..e6ad012
--- /dev/null
+++ b/docs/tutorials/playground/logs/messages.gz
Binary files differ
diff --git a/docs/tutorials/playground/run.sh b/docs/tutorials/playground/run.sh
new file mode 100755
index 0000000..4a6723d
--- /dev/null
+++ b/docs/tutorials/playground/run.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+export LNAVSECURE=1
+export TERM=xterm-256color
+
+timeout --foreground --kill-after=30s 10m lnav \
+ -d "/tmp/$(echo "playground."$(date "+%Y-%m-%dT%H-%M-%S")".$$.log")" \
+ /tutorials/playground/logs \
+ /tutorials/playground/text \
+ /tutorials/playground/index.md#playground
+
+if [ $? = 124 ]; then
+ echo "error: reached connection time limit, reconnect if you're not a bot."
+else
+ echo "Thanks for trying out lnav! Have a nice day!"
+fi
diff --git a/docs/tutorials/playground/text/markdown-sample.md b/docs/tutorials/playground/text/markdown-sample.md
new file mode 100644
index 0000000..4b56cae
--- /dev/null
+++ b/docs/tutorials/playground/text/markdown-sample.md
@@ -0,0 +1,157 @@
+An h1 header
+============
+
+Paragraphs are separated by a blank line.
+
+2nd paragraph. *Italic*, **bold**, and `monospace`. Itemized lists
+look like:
+
+ * this one
+ * that one
+ * the other one
+
+Note that --- not considering the asterisk --- the actual text
+content starts at 4-columns in.
+
+> Block quotes are
+> written like so.
+>
+> They can span multiple paragraphs,
+> if you like.
+
+Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., "it's all
+in chapters 12--14"). Three dots ... will be converted to an ellipsis.
+Unicode is supported. ☺
+
+
+
+An h2 header
+------------
+
+Here's a numbered list:
+
+ 1. first item
+ 2. second item
+ 3. third item
+
+Note again how the actual text starts at 4 columns in (4 characters
+from the left side). Here's a code sample:
+
+ # Let me re-iterate ...
+ for i in 1 .. 10 { do-something(i) }
+
+As you probably guessed, indented 4 spaces. By the way, instead of
+indenting the block, you can use delimited blocks, if you like:
+
+~~~
+define foobar() {
+ print "Welcome to flavor country!";
+}
+~~~
+
+(which makes copying & pasting easier). You can optionally mark the
+delimited block for Pandoc to syntax highlight it:
+
+~~~python
+import time
+# Quick, count to ten!
+for i in range(10):
+ # (but not *too* quick)
+ time.sleep(0.5)
+ print i
+~~~
+
+
+
+### An h3 header ###
+
+Now a nested list:
+
+ 1. First, get these ingredients:
+
+ * carrots
+ * celery
+ * lentils
+
+ 2. Boil some water.
+
+ 3. Dump everything in the pot and follow
+ this algorithm:
+
+ find wooden spoon
+ uncover pot
+ stir
+ cover pot
+ balance wooden spoon precariously on pot handle
+ wait 10 minutes
+ goto first step (or shut off burner when done)
+
+ Do not bump wooden spoon or it will fall.
+
+Notice again how text always lines up on 4-space indents (including
+that last line which continues item 3 above).
+
+Here's a link to [a website](https://lnav.org), to a [local
+doc](../index.md), and to a [section heading in the current
+doc](#an-h2-header). Here's a footnote [^1].
+
+[^1]: Footnote text goes here.
+
+Tables can look like this:
+
+size material color
+---- ------------ ------------
+9 leather brown
+10 hemp canvas natural
+11 glass transparent
+
+Table: Shoes, their sizes, and what they're made of
+
+(The above is the caption for the table.) Pandoc also supports
+multi-line tables:
+
+-------- -----------------------
+keyword text
+-------- -----------------------
+red Sunsets, apples, and
+ other red or reddish
+ things.
+
+green Leaves, grass, frogs
+ and other things it's
+ not easy being.
+-------- -----------------------
+
+A horizontal rule follows.
+
+***
+
+Here's a definition list:
+
+apples
+ : Good for making applesauce.
+oranges
+ : Citrus!
+tomatoes
+ : There's no "e" in tomatoe.
+
+Again, text is indented 4 spaces. (Put a blank line between each
+term/definition pair to spread things out more.)
+
+Here's a "line block":
+
+| Line one
+| Line too
+| Line tree
+
+and images can be specified like so:
+
+![example image](../../../assets/images/lnav-front-page.png "An exemplary image")
+
+Inline math equations go in like so: $\omega = d\phi / dt$. Display
+math should get its own line and be put in in double-dollarsigns:
+
+$$I = \int \rho R^{2} dV$$
+
+And note that you can backslash-escape any punctuation characters
+which you wish to be displayed literally, ex.: \`foo\`, \*bar\*, etc. \ No newline at end of file
diff --git a/docs/tutorials/tutorial-lib/configs/tutorial1/config.json b/docs/tutorials/tutorial-lib/configs/tutorial1/config.json
new file mode 100644
index 0000000..4407368
--- /dev/null
+++ b/docs/tutorials/tutorial-lib/configs/tutorial1/config.json
@@ -0,0 +1,18 @@
+{
+ "$schema": "https://lnav.org/schemas/config-v1.schema.json",
+ "global": {
+ "lnav_tutorial_name": "tutorial1"
+ },
+ "ui": {
+ "keymap-defs": {
+ "default": {
+ "x79": {
+ "command": "|lnav-tutorial-key-handler next"
+ },
+ "x59": {
+ "command": "|lnav-tutorial-key-handler prev"
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/docs/tutorials/tutorial-lib/formats/tutorial-lib/lnav-tutorial-key-handler.lnav b/docs/tutorials/tutorial-lib/formats/tutorial-lib/lnav-tutorial-key-handler.lnav
new file mode 100644
index 0000000..becadec
--- /dev/null
+++ b/docs/tutorials/tutorial-lib/formats/tutorial-lib/lnav-tutorial-key-handler.lnav
@@ -0,0 +1,29 @@
+
+;SELECT filepath AS tutorial_path FROM lnav_file
+ WHERE filepath GLOB '*/tutorial1/index.md' LIMIT 1
+;SELECT CASE
+ WHEN $1 = 'next' AND
+ step < (SELECT max(step) FROM lnav_tutorial_steps WHERE name = $lnav_tutorial_name)
+ THEN step + 1
+ WHEN $1 = 'prev' AND step > 1 THEN step - 1
+ ELSE step
+ END AS new_step
+ FROM lnav_tutorial_step WHERE name = $lnav_tutorial_name
+;SELECT CASE
+ WHEN $1 = 'next' AND
+ step = (SELECT max(step) FROM lnav_tutorial_steps WHERE name = $lnav_tutorial_name)
+ THEN '#conclusion'
+ ELSE '#step-' || $new_step
+ END AS new_anchor
+ FROM lnav_tutorial_step WHERE name = $lnav_tutorial_name
+;UPDATE lnav_tutorial_step SET step = $new_step WHERE name = $lnav_tutorial_name
+;UPDATE lnav_views SET top_meta = json_object(
+ 'file', $tutorial_path,
+ 'anchor', $new_anchor
+)
+ WHERE name = 'text'
+:switch-to-view text
+;UPDATE lnav_views SET top = 0, left = 0
+ WHERE name = 'log'
+;REPLACE INTO lnav_user_notifications (id, views, message)
+ SELECT * FROM lnav_tutorial_log_notification; \ No newline at end of file
diff --git a/docs/tutorials/tutorial-lib/formats/tutorial-lib/tutorial.sql b/docs/tutorials/tutorial-lib/formats/tutorial-lib/tutorial.sql
new file mode 100644
index 0000000..2813357
--- /dev/null
+++ b/docs/tutorials/tutorial-lib/formats/tutorial-lib/tutorial.sql
@@ -0,0 +1,154 @@
+
+-- Tracks the current step in the tutorial
+CREATE TABLE lnav_tutorial_step
+(
+ name TEXT NOT NULL PRIMARY KEY,
+ step INTEGER NOT NULL
+);
+
+INSERT INTO lnav_tutorial_step
+ VALUES ('tutorial1', 1);
+
+-- A description of each step in the tutorial with its achievements
+CREATE TABLE lnav_tutorial_steps
+(
+ name TEXT NOT NULL,
+ step INTEGER NOT NULL,
+ achievements TEXT NOT NULL,
+ PRIMARY KEY (name, step)
+);
+
+-- Tracks the progress through the achievements in a step of the tutorial
+CREATE TABLE IF NOT EXISTS lnav_tutorial_progress
+(
+ name TEXT NOT NULL,
+ step INTEGER NOT NULL,
+ achieved TEXT NOT NULL,
+
+ PRIMARY KEY (name, step, achieved)
+);
+
+CREATE TABLE IF NOT EXISTS lnav_tutorial_lines
+(
+ name TEXT NOT NULL,
+ step INTEGER NOT NULL,
+ view_ptr TEXT NOT NULL,
+ view_value TEXT NOT NULL,
+ achievement TEXT NOT NULL,
+ log_comment TEXT
+);
+
+-- Copy the tutorial data from the markdown frontmatter to
+-- the appropriate tables.
+CREATE TRIGGER IF NOT EXISTS add_tutorial_data
+ AFTER INSERT
+ ON lnav_events
+ WHEN jget(new.content, '/$schema') = 'https://lnav.org/event-file-format-detected-v1.schema.json' AND
+ jget(new.content, '/format') = 'text/markdown'
+BEGIN
+ INSERT INTO lnav_tutorial_steps
+ SELECT jget(tutorial_meta, '/name'),
+ key + 1,
+ value
+ FROM (SELECT yaml_to_json(lnav_file_metadata.content) AS tutorial_meta
+ FROM lnav_file_metadata
+ WHERE filepath = jget(new.content, '/filename')) AS meta_content,
+ json_each(jget(meta_content.tutorial_meta, '/steps'));
+
+ REPLACE INTO lnav_tutorial_lines
+ SELECT name,
+ step,
+ jget(value, '/view_ptr'),
+ jget(value, '/view_value'),
+ key,
+ jget(value, '/comment')
+ FROM lnav_tutorial_steps,
+ json_each(achievements)
+ WHERE jget(value, '/view_ptr') IS NOT NULL;
+
+ REPLACE INTO lnav_user_notifications (id, views, message)
+ SELECT *
+ FROM lnav_tutorial_log_notification;
+END;
+
+CREATE TRIGGER IF NOT EXISTS tutorial_move_log_after_load
+ AFTER INSERT
+ ON lnav_events
+ WHEN jget(new.content, '/$schema') = 'https://lnav.org/event-session-loaded-v1.schema.json'
+BEGIN
+ UPDATE lnav_views SET top = 0 WHERE name = 'log';
+END;
+
+CREATE TRIGGER IF NOT EXISTS lnav_tutorial_view_listener UPDATE OF top
+ ON lnav_views_echo
+ WHEN new.name = 'log'
+BEGIN
+ INSERT OR IGNORE INTO lnav_tutorial_progress
+ SELECT lnav_tutorial_lines.name,
+ lnav_tutorial_lines.step,
+ achievement
+ FROM lnav_tutorial_step,
+ lnav_tutorial_lines
+ WHERE lnav_tutorial_step.step = lnav_tutorial_lines.step
+ AND jget(json_object('top', new.top,
+ 'left', new.left,
+ 'search', new.search),
+ view_ptr) = view_value;
+ UPDATE all_logs
+ SET log_comment = (SELECT log_comment
+ FROM lnav_tutorial_step,
+ lnav_tutorial_lines
+ WHERE lnav_tutorial_step.step = lnav_tutorial_lines.step
+ AND lnav_tutorial_lines.log_comment IS NOT NULL
+ AND jget(json_object('top', new.top,
+ 'left', new.left,
+ 'search', new.search), view_ptr) = view_value)
+ WHERE log_line = new.top
+ AND log_comment IS NULL;
+END;
+
+CREATE TABLE lnav_tutorial_message
+(
+ msgid INTEGER PRIMARY KEY,
+ msg TEXT
+);
+
+CREATE VIEW lnav_tutorial_current_achievements AS
+SELECT key AS achievement, value
+ FROM lnav_tutorial_step,
+ lnav_tutorial_steps, json_each(lnav_tutorial_steps.achievements)
+ WHERE lnav_tutorial_step.step = lnav_tutorial_steps.step;
+
+CREATE VIEW lnav_tutorial_current_progress AS
+SELECT achieved
+ FROM lnav_tutorial_step,
+ lnav_tutorial_progress
+ WHERE lnav_tutorial_step.step = lnav_tutorial_progress.step;
+
+CREATE VIEW lnav_tutorial_remaining_achievements AS
+SELECT *
+ FROM lnav_tutorial_current_achievements
+ WHERE achievement NOT IN (SELECT * FROM lnav_tutorial_current_progress);
+
+CREATE VIEW lnav_tutorial_log_notification AS
+SELECT *
+ FROM (SELECT 'org.lnav.tutorial.log' AS id, '["log"]' AS views, jget(value, '/notification') AS message
+ FROM lnav_tutorial_remaining_achievements
+ UNION ALL
+ SELECT 'org.lnav.tutorial.log' AS id,
+ '["log"]' AS views,
+ 'Press `y` to go to the next step in the tutorial' AS message)
+ LIMIT 1;
+
+CREATE TRIGGER IF NOT EXISTS lnav_tutorial_progress_listener
+ AFTER INSERT
+ ON lnav_tutorial_progress
+BEGIN
+ DELETE FROM lnav_user_notifications WHERE id = 'org.lnav.tutorial.log';
+ REPLACE INTO lnav_user_notifications (id, views, message)
+ SELECT *
+ FROM lnav_tutorial_log_notification;
+END;
+
+REPLACE INTO lnav_user_notifications (id, views, message)
+ VALUES ('org.lnav.tutorial.text', '["text"]', 'Press `q` to go to the log view')
diff --git a/docs/tutorials/tutorial1/index.md b/docs/tutorials/tutorial1/index.md
new file mode 100644
index 0000000..a608ba1
--- /dev/null
+++ b/docs/tutorials/tutorial1/index.md
@@ -0,0 +1,145 @@
+---
+name: tutorial1
+steps:
+ - move-to-error:
+ description: "Move to an error"
+ view_ptr: /top
+ view_value: 6
+ notification: |
+ Press `e`/`Shift+E` to move through the
+ <span class="-lnav_log-level-styles_error">errors</span>
+ comment: |
+ You found the error!
+ [Log formats](https://docs.lnav.org/en/latest/formats.html#format-file-reference)
+ can define the log levels for a given message.
+ The [theme](https://docs.lnav.org/en/latest/config.html#theme-definitions) defines
+ how the levels are displayed.
+ move-to-warning:
+ description: "Move to a warning"
+ notification: |
+ Press `w`/`Shift+W` to move through the
+ <span class="-lnav_log-level-styles_warning">warnings</span>
+ view_ptr: /top
+ view_value: 3
+ comment: |
+ You found the warning! The scrollbar on the right is highlighted
+ to show the position of
+ <span class="-lnav_log-level-styles_warning">warnings</span> and
+ <span class="-lnav_log-level-styles_error">errors</span> in this
+ view.
+ - search-for-term:
+ description: "Search for something"
+ notification: "Press `/` to search for '1AF9...'"
+ view_ptr: /search
+ view_value: 1AF9293A-F42D-4318-BCDF-60234B240955
+ move-to-next-hit:
+ description: "Move to the next hit"
+ notification: "Press `n`/`Shift+N` to move through the search hits"
+ view_ptr: /top
+ view_value: 53
+ comment: |
+ The matching text in a search is highlighted in
+ <span class="-lnav_styles_search">reverse-video</span>.
+ However, the text is not always on-screen, so the bar on the
+ left will also be highlighted. You can then press `>` to
+ move right to the next (horizontal) search hit. Pressing
+ `<` will move left to the previous (horizontal) hit or all
+ the way back to the start of the line.
+ move-right:
+ description: "Move to the right"
+ notification: "Press `>` to move horizontally to view the search hit"
+ view_ptr: /left
+ view_value: 582
+ - move-to-half-hour:
+ description: "Move to the next half-hour"
+ notification: "Press `3`/`Shift+3` to move through the half-hour marks"
+ view_ptr: /top
+ view_value: 34
+ comment: |
+ This file is in the _glog_ format and timestamps consist of the
+ year, month, and day squished together. This log message's
+ timestamp is March 22nd, 2017. You can see the timestamp for
+ the top line in the view in the breadcrumb bar. Next, go to the
+ log messages for the following day using `:goto March 23` or the
+ breadcrumb bar above.
+ move-to-timestamp:
+ description: "Move to a given timestamp"
+ notification: "Move to '**March 23**' using `:goto` or the breadcrumb bar"
+ view_ptr: /top
+ view_value: 79
+ comment: |
+ Many different timestamp formats are recognized as well as
+ relative times, like `+1h` or `-2h`.
+---
+# Tutorial 1
+
+Welcome to the first _interactive_ **lnav** tutorial!
+
+This tutorial will guide you through the basics of navigating log files.
+Pressing `q` will display an example log file to try out commands on.
+Pressing `y` will return you to the next step in the tutorial.
+
+## Step 1
+
+Finding errors quickly is one of the main use-cases for **lnav**. To
+make that quick and easy, **lnav** parses the log messages in log files
+as they are loaded and builds indexes of the errors and warnings. You
+can then use the following hotkeys to jump to them in the log view:
+
+| Key | Action |
+|-----------|----------------------------------------------------------------------------------|
+| `e` | Move to the next <span class="-lnav_log-level-styles_error">error</span> |
+| `Shift+E` | Move to the previous <span class="-lnav_log-level-styles_error">error</span> |
+| `w` | Move to the next <span class="-lnav_log-level-styles_warning">warning</span> |
+| `Shift+W` | Move to the previous <span class="-lnav_log-level-styles_warning">warning</span> |
+
+To complete this step in the tutorial, you'll need to navigate to the
+errors and warnings in the sample log file. You can check the upper-right
+↗↗↗ status bar for tips on what you need to do next. Now, press `q` to
+switch to the log view and begin navigating the sample log file.
+
+## Step 2
+
+To search for text in files, you can press `/` to enter the search
+prompt. To make it easier to search for text that is on-screen, you
+can press `TAB` to complete values that are shown on screen. For
+example, to search for the UUID "1AF9293A-F42D-4318-BCDF-60234B240955"
+that is in one of the error messages, you can enter "1AF9" and then
+press `TAB` to complete the rest of the UUID.
+
+Press `q` to switch to the log view and try searching for the UUID.
+
+## Step 3
+
+To move to a particular time in the logs, you have a few options:
+
+* The number keys can be used to move to messages at the ten-minute
+ marks within an hour. For example, pressing `2` will move to the
+ first message after the next twenty-minute mark, pressing `3`
+ will move to the next half-hour mark, and so on.
+* Pressing `ENTER` to focus on the breadcrumb bar, then you
+ can press `TAB` (or right-arrow) to move to the time crumb.
+ With the time crumb selected, you can then type in an absolute
+ or relative time. Or, you can use the up and down arrow keys
+ to select a preset relative time.
+* Pressing `:` will activate the command prompt, then you can use
+ the `:goto` command to move to a given timestamp (or line number).
+
+Press `q` to switch to the log view and try moving to different
+times.
+
+## Conclusion
+
+That's all for now, thanks for your time! Visit the
+[downloads](https://lnav.org/downloads) page to find out how to
+download or install **lnav** for your system. The full
+documentation is available at https://docs.lnav.org
+
+Press `q` to switch to the log view and then press `q` again to
+exit **lnav**.
+
+## Colophon
+
+The source for this tutorial is available here:
+
+https://github.com/tstack/lnav/tree/master/docs/tutorials/
diff --git a/docs/tutorials/tutorial1/run.sh b/docs/tutorials/tutorial1/run.sh
new file mode 100755
index 0000000..6785ac4
--- /dev/null
+++ b/docs/tutorials/tutorial1/run.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+export LNAVSECURE=1
+export TERM=xterm-256color
+
+timeout --foreground --kill-after=30s 5m lnav \
+ -d "/tmp/$(echo "tutorial1."$(date "+%Y-%m-%dT%H-%M-%S")".$$.log")" \
+ -I /tutorials/tutorial-lib \
+ /tutorials/tutorial1/tutorial1.glog \
+ /tutorials/tutorial1/index.md#tutorial-1
+
+if [ $? = 124 ]; then
+ echo "error: reached connection time limit, reconnect if you're not a bot."
+else
+ echo "Thanks for trying out lnav! Have a nice day!"
+fi
diff --git a/docs/tutorials/tutorial1/tutorial1.glog b/docs/tutorials/tutorial1/tutorial1.glog
new file mode 100644
index 0000000..b996d68
--- /dev/null
+++ b/docs/tutorials/tutorial1/tutorial1.glog
@@ -0,0 +1,100 @@
+I20170322 06:58:47.082758 61456 blaster.cc:112] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170322 06:58:58.019562 121 demo.cc:123] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 06:58:59.059175 123 blaster.cc:6782] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+W20170322 06:59:16.062826 61456 demo.cc:352] Ut enim ad minim veniam, quis nostrud exercitation 1AF9293A-F42D-4318-BCDF-60234B240955 ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170322 06:59:28.084062 124 blaster.cc:112] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 06:59:32.053551 123 loader.cc:13] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+E20170322 06:59:53.084969 123 loader.cc:552] Excepteur sint occaecat cupidatat non proident 1AF9293A-F42D-4318-BCDF-60234B240955, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170322 07:00:00.096693 123 blaster.cc:112] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 07:00:03.049849 123 demo.cc:352] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 07:00:08.070575 123 blaster.cc:6782] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 07:00:23.019849 123 blaster.cc:352] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 07:00:28.022692 61457 loader.cc:552] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170322 07:00:29.058438 61456 blaster.cc:352] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170322 07:00:30.028483 123 loader.cc:13] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 07:00:49.070676 123 demo.cc:352] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170322 07:00:56.095214 123 loader.cc:552] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+W20170322 07:01:14.042785 123 blaster.cc:112] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 07:01:31.083704 123 blaster.cc:112] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170322 07:01:44.013733 121 blaster.cc:112] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 07:01:55.024085 121 blaster.cc:112] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 07:02:02.027811 121 blaster.cc:6782] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 07:02:14.022939 61456 blaster.cc:112] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 07:02:30.035925 123 loader.cc:13] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170322 07:02:49.024985 123 loader.cc:13] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170322 07:03:09.056478 121 blaster.cc:6782] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 07:03:15.023777 123 demo.cc:352] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170322 07:03:32.066107 123 blaster.cc:352] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 07:03:48.028662 124 blaster.cc:6782] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170322 07:03:54.027078 123 demo.cc:123] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 07:04:09.041478 123 demo.cc:123] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 07:04:14.068162 121 blaster.cc:6782] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 07:04:28.099513 124 blaster.cc:112] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 07:04:40.063473 124 loader.cc:552] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 07:04:50.024030 123 loader.cc:552] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170322 07:34:56.081415 121 blaster.cc:352] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170322 07:35:14.096304 123 blaster.cc:352] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 08:05:21.086331 123 demo.cc:352] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170322 08:05:33.039503 123 loader.cc:13] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170322 08:05:43.092657 124 blaster.cc:6782] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 08:05:59.002644 123 demo.cc:123] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 08:06:01.022102 123 demo.cc:352] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170322 08:06:22.005675 123 blaster.cc:6782] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170322 08:06:37.088974 123 blaster.cc:112] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170322 08:06:44.043938 61457 demo.cc:123] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 08:06:47.060703 123 loader.cc:13] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 08:06:49.052185 61456 demo.cc:123] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 08:06:52.074424 61457 demo.cc:352] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 08:07:02.063191 123 demo.cc:123] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 08:07:10.030327 61457 blaster.cc:112] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170322 08:07:11.011338 123 loader.cc:13] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 08:07:27.078391 123 blaster.cc:352] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 08:07:41.061684 123 blaster.cc:112] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170322 08:07:53.076558 121 blaster.cc:112] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170322 08:38:04.055174 121 blaster.cc:112] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur: 1AF9293A-F42D-4318-BCDF-60234B240955
+I20170322 08:38:18.046756 123 blaster.cc:112] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 08:48:28.004198 123 loader.cc:552] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 08:48:36.032193 61457 blaster.cc:352] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 09:08:50.028964 61456 loader.cc:13] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 09:08:56.074576 124 blaster.cc:112] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 09:08:57.090258 123 loader.cc:13] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 09:09:00.067690 121 blaster.cc:352] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170322 09:09:19.036483 61457 blaster.cc:112] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170322 09:09:40.048046 123 blaster.cc:352] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 09:09:52.051526 123 loader.cc:13] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 09:10:11.003845 61456 loader.cc:552] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170322 09:10:27.094133 123 blaster.cc:6782] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 09:10:43.027892 121 blaster.cc:352] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 09:10:57.078489 124 demo.cc:352] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170322 09:11:09.014685 123 demo.cc:123] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170322 09:11:18.029203 61456 blaster.cc:352] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170322 09:11:24.067068 121 demo.cc:123] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 09:11:38.053891 61456 loader.cc:552] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170322 09:11:59.027292 61457 blaster.cc:112] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170322 09:12:10.069054 61457 loader.cc:13] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170322 09:12:22.018053 123 loader.cc:552] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170322 09:12:39.000436 123 demo.cc:352] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170322 09:12:53.009916 123 loader.cc:13] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 09:13:13.051890 121 demo.cc:123] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170322 09:13:24.076724 123 demo.cc:123] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170323 06:13:34.075980 123 blaster.cc:6782] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170323 06:13:35.096130 61456 blaster.cc:6782] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170323 06:13:49.087790 121 demo.cc:123] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170323 06:14:08.033671 61457 blaster.cc:112] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170323 06:14:23.091358 61456 blaster.cc:112] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170323 06:14:35.088133 61456 demo.cc:123] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170323 06:14:55.005577 123 blaster.cc:352] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170323 06:14:58.008392 61457 demo.cc:123] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170323 06:15:05.004789 123 loader.cc:552] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170323 07:28:07.070013 123 blaster.cc:6782] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170323 07:32:08.012805 123 blaster.cc:112] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170323 07:33:25.042509 61456 loader.cc:552] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+E20170323 08:15:32.027688 123 blaster.cc:6782] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170323 08:15:41.020299 61456 blaster.cc:6782] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170323 08:15:42.021039 124 loader.cc:552] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170323 08:15:59.063918 123 blaster.cc:112] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+I20170323 08:16:19.082250 123 loader.cc:552] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170323 08:16:20.026445 61457 loader.cc:13] Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+I20170323 08:16:41.048447 123 blaster.cc:6782] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+I20170323 08:16:52.097215 61456 demo.cc:123] Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+I20170323 09:17:01.020663 61456 blaster.cc:112] Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.