2017-01-26 38 views
2

syslog를 구성하고 싶습니다. 그것은 syslog를 설정하는 하나 이상의 방법이라고 생각됩니다. 나는 그것을하기위한 일반적인 방법/단계를 요구하고있다.yocto에서 syslog를 설정하는 방법은 무엇입니까?

몇 가지 사례가 있습니다. 단순화하기 위해 syslog가/var/log /에 무한대 긴 로그 파일을 작성하도록 구성하는 방법을 묻습니다.

다음 단계 :

1) (//var에 정의/로그이 mylog를)

1.2)을 "조리법을 추가

1.1) 자신의"한 syslog.conf "를 만들 것을 메시지 구성 -core/비지 박스 "

2)

를 기록하는 방법을 구성 ?? -> "메타 비좁은/조리법 코어/비지 박스/비지 박스/비좁은 - 작은/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 

메타 비좁은 @

:

는 그 작업을 수행하는 두 가지 장소를 발견 추가/변경 :

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

??? "/etc/syslog-startup.conf"는 시스템 V 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에 도달하면

내 시스템을 실행, 로그가 래핑합니다. 하나의 로그 파일 + 하나의 로그 회전 파일이 생성됩니다.

그 시스템 로그를 보관하는 방법에 대한 아이디어는 무한한 긴 로그 파일을 작성합니까?

저는 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에 적합합니다. 수퍼 유저에게는 적합하지 않습니다. – jku

+1

@jww 질문은 * 개발 * yocto의 구성에 관한 것입니다. – pmod

답변

0

syslog 및 busybox의 출처를 확인하여 가능한 해결책을 찾았습니다. -> 자식/비지 박스

1.2)를 통해 비지 박스를 구축

1) 얻을 유효한 시스템 로그 빌드 설정

1.1) 비지 박스 다운로드 :이 솔루션은 최대 10MByte 두 로그에 로그인 할 때 시스템 로그를 구성하는 방법을 보여줍니다 bitbake -> bitbake 비지 박스

1.3) 다운로드 비지 박스에 파일을 defconfig를 복사 -> CP/defconfig를 이눔/비지 박스는/

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 
,536,913 : 이하는 예입니다

3.) busybox syslog 데몬에 대한 구성을 수정합니다.

이 예는 10MB로 제한되는 파일에 기록합니다. "ROTATESIZE"가 설정되지 않은 경우 syslog는 로그 파일 크기를 200kBytes로 자동 설정합니다.

# 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을 구축 자신의 계층에 다음 디렉토리 구조를 만들 수 : "시스템 로그 - startup.conf"의 내용은 같습니다

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

4.2) "메타 - 정의/조리법 코어/비지 박스/비지 박스"에 복사 :

defconfig 
syslog.conf 
syslog-startup.conf 

4.3) "meta-custom/recipes-core/busybox /" "busybox_1.24.1.bbappend"에서 생성합니다. 구형/신 버전의 비지 박스를 사용하는 경우 "1.24.1"번호를 자신의 것으로 변경해야합니다. 당신은 "/ 비좁은/메타/조리법 코어/비지 박스 /"

이 파일이 두 줄을 추가에 버전 찾을 수 있습니다 사용자 정의가 시스템 로그 정의)

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

5.를 구축

bitbake busybox 

와 지금은 작동합니다 이미지

bitbake core-image-minimal 

의 rootfs로 전송!