LNAV：基于 Ncurses 的日志文件阅读器
日志 lnav
日志文件导航器（Logfile Navigator，简称 lnav），是一个基于 curses 的，用于查看和分析日志文件的工具。和文本阅读器/编辑器相比， lnav 的好处是它充分利用了可以从日志文件中获取的语义信息，例如时间戳和日志等级。利用这些额外的语义信息， lnav 可以处理像这样的事情：来自不同文件的交错的信息；按照时间生成信息直方图；支持在文件中导航的快捷键。它希望使用这些功能可以使得用户可以快速有效地定位和解决问题。


### lnav 功能


#### 支持以下日志文件格式：


Syslog、Apache 访问日志、strace、tcsh 历史以及常见的带时间戳的日志文件。读入文件的时候回自动检测文件格式。


#### 直方图视图：


以时间区划来显示日志信息数量。这对于大概了解在一长段时间内发生了什么非常有用。


#### 过滤器：


只显示那些匹配或不匹配一些正则表达式的行。对于移除大量你不感兴趣的日志行非常有用。


#### 即时操作：


在你输入到时候会同时完成检索；当添加了新日志行的时候会自动加载和搜索；加载行的时候会应用过滤器；另外，还会在你输入 SQL 查询的时候检查其正确性。


#### 自动显示后文：


日志文件视图会自动往下滚动到新添加到文件中的行。只需要向上滚动就可以锁定当前视图，然后向下滚动到底部恢复显示后文。


#### 按照日期顺序排序行：


从所有文件中加载的日志行会按照日期进行排序。使得你不需要手动从不同文件中收集日志信息。


#### 语法高亮：


错误和警告会用红色和黄色显示。高亮还可用于： SQL 关键字、XML 标签、Java 文件行号和括起来的字符串。


#### 导航：


有快捷键用于跳转到下一个或上一个错误或警告，按照指定的时间向后或向前翻页。


#### 用 SQL 查询日志：


每个日志文件行都相当于数据库中的一行，可以使用 SQL 进行查询。可以使用的列取决于查看的日志文件类型。


#### 命令和搜索历史：


会自动保存你之前输入的命令和搜素，因此你可以在会话之间使用它们。


#### 　压缩文件：


会实时自动检测和解压压缩的日志文件。


### 在 ubuntu 15.10 上安装 lnav


打开终端运行下面的命令



```
sudo apt-get install lnav

```

### 使用 lnav


如果你想使用 lnav 查看日志，你可以使用下面的命令，默认它会显示 syslogs



```
lnav

```

![](/data/attachment/album/201512/02/231752xz4aklpb0fisxhss.png)


如果你想查看特定的日志，那么需要指定路径。如果你想看 CPU 日志，在你的终端里运行下面的命令



```
lnav /var/log/cups

```

![](/data/attachment/album/201512/02/231753f33vmrlrwln5e3vg.png)




---


via: <http://www.ubuntugeek.com/lnav-ncurses-based-log-file-viewer.html>


作者：[ruchi](http://www.ubuntugeek.com/author/ubuntufix) 译者：[ictlyh](http://mutouxiaogui.cn/blog/) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


OK
# LNAV – Ncurses based log file viewer

**Sponsored Link**

**lnav Features**

**Support for the following log file formats:**

Syslog, Apache access log, strace, tcsh history, and generic log files with timestamps. The file format is automatically detected when the file is read in.

**Histogram view:**

Displays the number of log messages per bucket-of-time. Useful for getting an overview of what was happening over a long period of time.

**Filters:**

Display only lines that match or do not match a set of regular expressions. Useful for removing extraneous log lines that you are not interested in.

**"Live" operation:**

Searches are done as you type; new log lines are automatically loaded and searched as they are added; filters apply to lines as they are loaded; and, SQL queries are checked for correctness as you type.

**Automatic tailing:**

The log file view automatically scrolls down to follow new lines that are added to files. Simply scroll up to lock the view in place and then scroll down to the bottom to resume tailing.

**Time-of-day ordering of lines:**

The log lines from all the files are loaded and then sorted by time-of-day. Relieves you of having to manually line up log messages from different files.

**Syntax highlighting:**

Errors and warnings are colored in red and yellow, respectively. Highlights are also applied to: SQL keywords, XML tags, file and line numbers in Java backtraces, and quoted strings.

**Navigation:**

There are hotkeys for jumping to the next or previous error or warning and moving forward or backward by an amount of time.

**Use SQL to query logs:**

Each log file line is treated as a row in a database that can be queried using SQL. The columns that are available depend on logs file types being viewed.

**Command and search history:**

Your previously entered commands and searches are saved so you can access them between sessions.

**Compressed files:**

Compressed log files are automatically detected and uncompressed on the fly.

**Install lnav on ubuntu 15.10**

Open the terminal and run the following command

sudo apt-get install lnav


**Using lnav**

If you want to view logs using lnav you can do using the following command by default it shows syslogs

lnav


If you want to view specific logs provide the path

If you want to view CUPS logs run the following command from your terminal

lnav /var/log/cups