2017-01-26 510 views
2

私はsyslogを設定するのが好きです。これは、syslogを設定する方法が複数あるようです。私はそれを行うための共通の方法/措置を求めています。yoctoでsyslogを設定するには?

私はいくつかの使用例があります。簡単にするために、私は/ var/log /に無限ロングログファイルを書くようにsyslogを設定する方法を尋ねたい。手順に従い

1)は、どのようなメッセージ

1.1を設定)「のレシピに付加自身の "syslog.confの"(は/ var/log/myLogを定義)

1.2)を作成-core/busybox "

2.)ログの記録方法の設定

?? - > "メタpoky /レシピコア/ busyboxの/ busyboxの/ poky-小さな/ defconfig"

# 
# System Logging Utilities 
# 
CONFIG_SYSLOGD=y 
CONFIG_FEATURE_ROTATE_LOGFILE=y 
CONFIG_FEATURE_REMOTE_LOG=y 
CONFIG_FEATURE_SYSLOGD_DUP=y 
CONFIG_FEATURE_SYSLOGD_CFG=y 
CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 
CONFIG_FEATURE_IPC_SYSLOG=y 
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16 
CONFIG_LOGREAD=y 
CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y 
CONFIG_KLOGD=y 
CONFIG_FEATURE_KLOGD_KLOGCTL=y 
CONFIG_LOGGER=y 

メタpoky @

は、私はそれを行うための2つの可能な場所を見つけました追加/変更:

"CONFIG_FEATURE_ROTATE_LOGFILE=n" by adding that line to meta-mylayer/conf/layer.conf" 

など

??? "/etc/syslog-startup.conf" SystemVのinitスクリプト "/etc/init.d/syslog.bussybox" で

# This configuration file is used by the busybox syslog init script, 
# /etc/init.d/syslog[.busybox] to set syslog configuration at start time. 

DESTINATION=file  # log destinations (buffer file remote) 
LOGFILE=/var/log/messages # where to log (file) 
REMOTE=loghost:514  # where to log (syslog remote) 
REDUCE=no   # reduce-size logging 
DROPDUPLICATES=no  # whether to drop duplicate log entries 
#ROTATESIZE=0   # rotate log if grown beyond X [kByte] 
#ROTATEGENS=3   # keep X generations of rotated logs 
BUFFERSIZE=64   # size of circular buffer [kByte] 
FOREGROUND=no   # run in foreground (don't use!) 
#LOGLEVEL=5   # local log level (between 1 and 8) 

ファイル「/etc/syslog-startup.con @

"が読み込まれ、設定に使用されます。

システムの挙動:

私のシステムを実行しているログファイルが200kBytesに達したときに、ログがラップします。 1つのログファイル+ 1つのログ回転ファイルが生成されます。

このsyslogをアーカイブする方法は無限の長いログファイルを書きますか?

私はYocto krogothブランチ+ meta-atmel/meta_openembedded(@ krogothも)に取り組んでいます。

+0

スタックオーバーフローは、プログラミングおよび開発に関する質問のサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく、[Super User](http://superuser.com/)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)の方が良いかもしれません。また、[Dev Opsについての質問はどこに投稿しますか?](http://meta.stackexchange.com/q/134306) – jww

+3

@jww yocto/openembeddedは基本的に組み込みオペレーティングシステムを構築するツールです。管理者よりもビルドシステムを変更するのはIMOで、stackoverflowに適しています.SuperUserにとっては間違いありません。 – jku

+1

@jww質問は*開発*のyoctoの設定です。 – pmod

答えて

0

syslogとbusyboxのソースを調べると、解決策が見つかりました。 - > gitの/ busyboxの

1.2)を経由してbusyboxのを構築

1)を得る有効なsyslogのビルドコンフィグ

1.1)busyboxのをダウンロードします。このソリューションでは、最大10Mバイトの2つのログにログインしたsyslogを設定する方法を示していますbitbake - > busyboxの

1.3 bitbake)ダウンロードしたbusyboxのにファイルをコピーしdefconfig - > CP/defconfigのgitの/ busyboxの/

1.4)menueconfig

作ります

1。5)後藤 "システムロギングユーティリティ"

1.6)選択解除klogdのそれはのprintk

1.7でcolideことができるので) "defconfig"

# 
# System Logging Utilities 
# 
# CONFIG_KLOGD is not set 
# CONFIG_FEATURE_KLOGD_KLOGCTL is not set 
CONFIG_LOGGER=y 
CONFIG_LOGREAD=y 
CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y 
CONFIG_SYSLOGD=y 
CONFIG_FEATURE_ROTATE_LOGFILE=y 
CONFIG_FEATURE_REMOTE_LOG=y 
CONFIG_FEATURE_SYSLOGD_DUP=y 
CONFIG_FEATURE_SYSLOGD_CFG=y 
CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 
CONFIG_FEATURE_IPC_SYSLOG=y 
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=64 
CONFIG_FEATURE_KMSG_SYSLOG=y 

2)セットアップログの設定に保存

"のsyslog.conf" を作成し、ルールを入力します。 これは一例です:

# 
# /etc/syslog.conf  Configuration file for busybox's syslogd utility 
# 

kern.notice /var/log/messages 


# 
# my software messages 
# 
user.err /var/log/mySWError 
user.*  /var/log/mySWFull 
local0.* /var/log/mySWFull 
local0.err /var/log/mySWError 
# 
#this prevents from logging to default log file (-O FILE or /var/log/messages) 
# 
*.*          /dev/null 

3.)ビジーボックスsyslogデーモンの設定を変更してください

この例では、10 MByteに制限されているファイルにログを記録しています。 "ROTATESIZE"が設定されていない場合、syslogはlog filesizeを自動的に200 kBytesに設定します。 「syslogの-startup.conf」の内容は、次のようになります。

# This configuration file is used by the busybox syslog init script, 
# /etc/init.d/syslog[.busybox] to set syslog configuration at start time. 

DESTINATION=file  # log destinations (buffer file remote) 
#LOGFILE=/var/log/messages # where to log (file) 
REMOTE=loghost:514  # where to log (syslog remote) 
REDUCE=no   # reduce-size logging 
DROPDUPLICATES=no  # whether to drop duplicate log entries 
ROTATESIZE=10000  # rotate log if grown beyond X [kByte] 
#ROTATEGENS=3   # keep X generations of rotated logs 
BUFFERSIZE=64   # size of circular buffer [kByte] 
FOREGROUND=no   # run in foreground (don't use!) 
#LOGLEVEL=5   # local log level (between 1 and 8) 

4)yoctoが

4.1をビルドするにコンフィギュレーションを取得する)、独自の層(メタカスタム)で以下のディレクトリ構造を作成します。

meta-custom/recipes-core/ 
meta-custom/recipes-core/busybox/ 
meta-custom/recipes-core/busybox/busybox 

4.2)は、 "メタカスタム/レシピコア/ busyboxの/ busyboxの" にコピー:

defconfig 
syslog.conf 
syslog-startup.conf 

4.3) "meta-custom/recipes-core/busybox /" "busybox_1.24.1.bbappend"で作成します。古いバージョン/新しいバージョンのbusyboxを使用している場合は、「1.24.1」の番号を自分のものに変更する必要があります。カスタム定義されたsyslog

bitbake busybox 
を構築)

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}/poky-tiny:" 

5:あなたは、このファイルには、この2行を追加 "/ poky /メタ/レシピコア/ busyboxの/"

であなたのバージョンを見つけることができます

と今では動作するはずの画像

bitbake core-image-minimal 

のrootfsのにそれを転送!

関連する問題