简单的logback日志收集服务端

使用logback jar包写的一个简单的收集多个服务的shell, 不同的服务使用不同的端口,同一个服务不同实例使用同一个端口,服务名称和端口映射存储在app.list

app.list, 支持 # 注释

# app list 

# asset port at 570x
#asset-www  5701
#asset-api  5702
asset-m     5703
#asset-admin 5704

# p2p port at 560x
p2p-core    5600

# ms port at 580x
ms-www      5801
ms-api      5802

app.sh

#!/bin/sh

# auth li_jian@gozap.com
# logbackServer

#the app name in app.list or value 'all'
appname=$1

appListFile=app.list

appLen=0
declare -a an
declare -a ap

if [ "" = "$appname" ];then
cat <<EOF
Usage: $0 [options]

options:
  all            run all app in $appListFile
  {somename}     run the specified app in $appListFile

EOF
fi

if [ ! -e $appListFile ];then
    echo -e 'app list file $appListFile not exist!\n'
else
    while read line
    do
       if [[ $line && "${line:0:1}" != "#" ]];then
           an[$appLen]=`echo ${line} | awk '{print $1}' `;
           ap[$appLen]=`echo ${line} | awk '{print $2}' `;
           #echo "${line},${an[$appLen]}"
           ((appLen++));
       fi
    done < $appListFile

    if [ "" = "$appname" ];then
      echo -e "Availble APP List :\n"
      echo "  app name: ${an[*]} all"
      echo "  app port: ${ap[*]}"
      echo ""
    else

      groupadd logback > /dev/null
      useradd  logback -g logback > /dev/null

      totalRuns=0

      for ((i=0; i<${#an[@]}; i++));do
        #echo "${an[$i]}, $appname"
        if [[ "$appname" = "${an[$i]}" || "$appname" = "all" ]];then
            aname=${an[$i]}
            aport=${ap[$i]}
            cmd="java -cp .:./lib/* ch.qos.logback.classic.net.SimpleSocketServer $aport conf/logback-${aname}.xml"
            su logback -c "$cmd > /dev/null 2>&1 &"
            echo "$cmd";
            ((totalRuns++));
        fi
      done

      echo "total runs $totalRuns ";

    fi

fi

Usage:

./app.sh all
./app.sh asset-m

lib:
logback-core-1.1.6.jar
logback-classic-1.1.6.jar
slf4j-api-1.7.12.jar
下载地址
http://download.csdn.net/detail/lanmo555/9472772

如果需要高可用收集,建议开发failover-socket-appender或者直接使用log4j2 + kafka + elasticsearch + kibana

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值