이 콘텐츠는 선택한 언어로 제공되지 않습니다.

Chapter 12. Enabling Logshifter


Using logshifter enables automatic log rotation and consolidation across cartridges in a gear. In OpenShift Enterprise, cartridges can log to Syslog using logshifter. For more information about logshifter, see the logshifter README file.
When writing a cartridge control script, it is typical to spawn a runtime process such as java or mongod. To take advantage of logshifter, redirect the standard out (STDOUT) and standard error (STEDRR) streams of the process to the /usr/bin/logshifter file. For example, for a Java-based cartridge:

Example 12.1. Redirecting Logs Using Logshifter:

java ... |& /usr/bin/logshifter -tag my-cartridge &
Copy to Clipboard Toggle word wrap
Using this method, java is started in the background, and all output produced by the application is logged through logshifter. The -tag argument must be a string unique to the cartridge.
Tips for PID Management

In the example above, the standard pipe operator is used from a shell script to redirect logs from the cartridge process to logshifter. This works well for programs which are capable of managing a PID file internally. However, for cartridges which bootstrap a process and cannot manage a PID file by itself, using a simple pipe operator can be problematic. When piping programs using a shell, the programs are typically started in parallel, rendering the $! variable unreliable for determining the PID of the cartridge process. For these cases, setting up a named pipe can allow the cartridge to use logshifter and also manage the PID of the process. The following example demonstrates the setup of a named pipe used by a Java cartridge which preserves the reliability of $! so the cartridge script can manage the PID file manually:

Example 12.2. Setting Up Named Pipe:

LOGPIPE=${OPENSHIFT_HOMEDIR}/app-root/runtime/logshifter-my-cartridge
rm -f $LOGPIPE && mkfifo $LOGPIPE

/usr/bin/logshifter -tag my-cartridge < $LOGPIPE &
java ... &> $LOGPIPE &
echo $! > $OPENSHIFT_MY_CARTRIDGE_DIR/my-cartridge.pid
Copy to Clipboard Toggle word wrap
Setting up the named pipe manually provides the most flexibility for managing both the logshifter and cartridge processes.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat