先从别的地方抄过来全部的解释,如下:

**options (选项):**
-d, --udp
使用数据报(UDP)而不是使用默认的流连接(TCP)
-i, --id
逐行记录每一次logger的进程ID
-f, --file file_name
记录特定的文件
-h, --help
显示帮助文本并退出
-n, --server
写入指定的远程syslog服务器,使用UDP代替内装式syslog的例程
-s, --stderr
输出标准错误到系统日志。
-t, --tag tag
指定标记记录
-u, --socket socket
写入指定的socket,而不是到内置系统日志例程。
-V, --version
显示版本信息并退出
-P, --port port_num
使用指定的UDP端口。默认的端口号是514
-p, --priority priority_level
指定输入消息日志级别,优先级可以是数字或者指定为 " facility.level" 的格式。  

下面开始逐一实验每个参数的用法。

-d不清楚怎么使用

-i,记录进程id,随便写个小列子,代码如下:

#!/bin/bash
logger -i "this is a test --i"
logger "this is a test --"
sleep

在/var/log/messages文件中,会有如下记录:

--27T10::17.838653+:|notice|root[]|this is a test --i
--27T10::17.839606+:|notice|root[-]|this is a test --

-f选项没发现什么特别之处。

-n太复杂,暂时还没有用到。

-s,输出标准错误,并且将信息打印到系统日志中。

linux-xdYUnA:/home/test/shell # logger -i -s "abc"
root[5105]: abc

在message日志中记录如下:

--27T11::47.705041+:|notice|root[]|abc

-t,指定标记记录,在message日志中可以看到是属于哪个模块记录的日志,-t后面为模块名称,加引号或不加都可以。如果不指定-t,都是已root为记录。

linux-xdYUnA:/home/test/shell # logger -i -t xingmuxin -s "this is a test"
xingmuxin[]: this is a test
linux-xdYUnA:/home/test/shell # logger -i -t "xingmuxin" -s "this is a test"
xingmuxin[]: this is a test
linux-xdYUnA:/home/test/shell # logger -i -s "this a test"
root[16997]: this a test

-u,-P,这个暂时还不知道怎么使用。

-p,指定输入消息日志级别,优先级可以是数字或者指定为 " facility.level" 的格式。比如:" -p local3.info " local3 这个设备的消息级别为 info。默认级别是 "user.notice"

facility:是用来定义由谁产生的日志信息:那个软件、子系统运行过程中产生的日志信息。
auth: 用户授权
authpriv: 授权和安全
cron: 计划任务
daemon: 系统守护进程
kern: 与内核有关的信息
lpr 与打印服务有关的信息
mail 与电子邮件有关的信息
news 来自新闻服务器的信息
syslog 由syslog生成的信息
user 用户的程序生成的信息,默认
ftp
uucp 由uucp生成的信息
local0~ 用来定义本地策略

level:是用来定义记录什么类型的日志信息。alert需要立即采取动作。

debug()            调试
info() 正常消息
notice() 正常但是要注意
warning()
error() 错误状态
crit() 临界状态
alert()
emerg() 系统不可用

如下列子:

linux-xdYUnA:/home/test/shell # logger -it xingmuxin -p kern.err "this a test"
linux-xdYUnA:/home/test/shell # logger -it xingmuxin -p syslog.info "this a test"
linux-xdYUnA:/home/test/shell # logger -it xingmuxin -p 4 "this a test"

在message中记录的日志为:

--27T11::37.318344+:|err|xingmuxin[]|this a test
--27T11::50.052378+:|info|xingmuxin[]|this a test
--27T11::26.995571+:|warning|xingmuxin[]|this a test

linux命令logger使用的更多相关文章

  1. Linux命令——logger

    参考:How to use logger on Linux Difference between /var/log/messages, /var/log/syslog, and /var/log/ke ...

  2. linux日志logger命令详解

    通过logger命令记录日志 logger是一个shell命令接口,可以通过该接口使用Syslog的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息. ------------------- ...

  3. android 程序执行linux命令注意事项

    一:问题描述    在已经root过的android设备下,app执行一个linux命令,app需要获取su权限,在某些android主板下会出现异常, Command: [su] Working D ...

  4. linux 命令中英文对照,收集

    linux 命令中英文对照,收集   linux 命令英文全文 Is Linux CLI case-sensitive? The answer is, yes. If you try to run L ...

  5. [Android] 基于 Linux 命令行构建 Android 应用(七):自动化构建

    本章将演示如何基于 Linux 命令行构建 Android 应用,在开始本章之前,希望你已经阅读之前几章内容. 本文环境为 RHEL Sandiego 32-bits,要基于 Linux CLI 构建 ...

  6. java执行linux命令的工具类

    package com.starfast.common.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import ja ...

  7. Solaris/Linux 命令手册

    无意翻到之前收藏的一个文档,共享一下. Solaris/Linux 命令手册 1. 系统 # passwd:修改口令 # exit:退出系统 2. 文件 # cp:复制文件或目录,参数:-a递归目录, ...

  8. Spark调用Linux命令实现解压和压缩功能

    一.应用场景 在Spark程序中调用Linux命令,实现一些程序难以实现的功能,例如:发送模拟邮件.文件打包或解压等等 二.代码实现 package big.data.analyse.linux im ...

  9. Linux命令——pr

    参考:Linux命令——column 前言 接触这个命令的初衷是我想把一个很长的单列输出设置成多列输出,奈何column的分列输出机制太智障,直到我发现了pr 参数 pr -# 输出指定的列数. -t ...

随机推荐

  1. UVA11059-Maximum Product(动态规划)

    Problem UVA11059-Maximum Product Accept:4769  Submit:38713 Time Limit: 3000 mSec  Problem Descriptio ...

  2. move或rebuild lob分区对象

    当使用如下语法移动或重建一个lob分区对象,将报错: SQL> alter table SHOW_LOB_STORAGE move lob(DDD) store as (tablespace P ...

  3. ansible的模块使用说明

    参考官方链接: https://docs.ansible.com/ansible/latest/user_guide/intro_adhoc.html#parallelism-and-shell-co ...

  4. 【转】Chrome 控制台新玩法-console显示图片以及为文字加样式

    在正常模式下,一般只能向console 控制台输出简单的文字信息.但为了把信息输出得更优雅更便于阅读,除了cosole.log()方法外还可以调用 cosole.warn() 来输出警告信息,在控制台 ...

  5. 【vue】vue +element 搭建项目,Qs用途

    1.安装 (c)npm install qs -S 2.用途 在 axios中,利用QS包装data数据 3.常见用法: import Qs from 'qs'; Qs.stringify(data) ...

  6. java操作Redis缓存设置过期时间

    关于Redis的概念和应用本文就不再详解了,说一下怎么在java应用中设置过期时间. 在应用中我们会需要使用redis设置过期时间,比如单点登录中我们需要随机生成一个token作为key,将用户的信息 ...

  7. python 全栈开发,Day42(Thread类的其他方法,同步锁,死锁与递归锁,信号量,事件,条件,定时器,队列,Python标准模块--concurrent.futures)

    昨日内容回顾 线程什么是线程?线程是cpu调度的最小单位进程是资源分配的最小单位 进程和线程是什么关系? 线程是在进程中的 一个执行单位 多进程 本质上开启的这个进程里就有一个线程 多线程 单纯的在当 ...

  8. linux内存源码分析 - 内存压缩(实现流程)

    本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 概述 本文章最好结合linux内存管理源码分析 - 页框分配器与linux内存源码分析 -伙伴系统(初始化和申请 ...

  9. C# - Span 全面介绍:探索 .NET 新增的重要组成部分

    假设要公开特殊化排序例程,以就地对内存数据执行操作.可能要公开需要使用数组的方法,并提供对相应 T[] 执行操作的实现.如果方法的调用方有数组,且希望对整个数组进行排序,这样做就非常合适.但如果调用方 ...

  10. Maven学习第4期---Maven简单使用

    一.Maven常用命令 在学习使用Maven构建项目之前,先来了解一下Maven一些实用的命令.mvn的命令有很多,在项目开发中,理解了下面的几个常用命令后,运用maven就基本没有问题了.Maven ...