node tail 日志服务
var http = require('http'),
,spawn = require('child_process').spawn
function onRequest(req, res) {
var reqUrl = req.url
if ('/' == reqUrl || 'favicon.ico' == reqUrl) {
return res.end('Im debugger')
}
res.writeHead( ,{'Content-Type': 'text/plain','Cache-Control': 'no-cache,no-store'})
}
var logFile = 'xxxxx'
tailLog(logFile)
req.on('close' ,function(){
console.log('aborted')
req.tail.kill('SIGHUP')
})
function tailLog(logFile) {
//console.log(logFile)
logFile = logFile.trim()
if (!logFile) return res.end('Log File lost')
var tail = req.tail = spawn('tail' , ['-f' , logFile])
tail.stdout.on('data' , function(data){
var line = data.toString('utf-8')
console.log(line)
res.write(line)
})
}
}
var arguments = process.argv.splice()
http.createServer(onRequest).listen(arguments[] || )
服务通过 nginx 反向代理后 要注意 conf 里需要配置 proxy_buffering off; 不然 nginx 要一直等 node,没有任何响应
node tail 日志服务的更多相关文章
- 使用日志服务进行Kubernetes日志采集
阿里云容器服务Kubernetes集群集成了日志服务(SLS),您可在创建集群时启用日志服务,快速采集Kubernetes 集群的容器日志,包括容器的标准输出以及容器内的文本文件. 新建 Kubern ...
- 阿里云日志服务采集自建Kubernetes日志(标准输出日志)
日志服务支持通过Logtail采集Kubernetes集群日志,并支持CRD(CustomResourceDefinition)进行采集配置管理.本文主要介绍如何安装并使用Logtail采集Kuber ...
- centos7设置rsyslog日志服务集中服务器
centos7设置rsyslog日志服务集中服务器 环境:centos6.9_x86_64,自带的rsyslog版本是7.4.7,很多配置都不支持,于是进行升级后配置 # 安装新版本的rsyslog程 ...
- ACK容器服务虚拟节点使用阿里云日志服务来收集业务容器日志
按照这篇博文的介绍,可以在ACK集群上通过Helm的方式部署虚拟节点,提升集群的弹性能力.现在,通过虚拟节点部署的ECI弹性容器实例也支持将stdout输出.日志文件同步到阿里云日志服务(SLS)进行 ...
- 【JAVA并发编程实战】7、日志服务
这里是一个应用项目使用生产消费模型的日志类 package cn.study.concurrency; import java.util.concurrent.BlockingQueue; impor ...
- 利用node构建本地服务
利用node构建本地服务 首先安装下node.js,地址为https://nodejs.org/en/,然后安装npm. node.js的中文api地址http://nodeapi.ucdok.com ...
- 利用OpenShift托管Node.js Web服务进行微信公众号开发
最近写了一个微信的翻译机器人.用户只要关注该公众号,发送英文的消息,就能收到中文翻译的回复.有兴趣的读者可以扫描下面的二维码关注该公众号,尝试发送英文单词试试看.(有时候第一次发送单词会收到“该公众号 ...
- Linux_rsyslogd日志服务(二)
一.rsyslogd日志统一格式 基本日志格式包含以下四列: 1.事件产生的时间 2.发生事件的服务器的主机名 3.产生事件的服务名或程序名 4.事件的具体信息 二./etc/rsyslog.conf ...
- AngularJS中实现日志服务
本篇体验使用AngularJS自定义一个记录日志的服务. 在AngularJS中,服务的一些写法是这样的: var app = angular.module('app',[]); app.provid ...
随机推荐
- RabbitMQ学习总结(4)——分发任务在多个工作者之间实例教程
一.Work Queues(using the Java Client) 走起 在第上一个教程中我们写程序从一个命名队列发送和接收消息.在这一次我们将创建一个工作队列,将用于分发耗时的任务在多个工 ...
- java的反射机制(重要)
1,反射的概念 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为 ...
- vim 跳转指定行
在编辑模式下输入 ngg 或者 nG n为指定的行数(如25) 25gg或者25G 跳转到第25行. 在命令模式下输入行号n : n 如果想打开文件即跳转 vim +n FileName 查看当然光标 ...
- Android学习路线(十三)Activity生命周期——暂停和恢复(Pausing and Resuming )一个Activity
在正常使用应用的过程中.前台的activity在一些时候会被其它的组件遮挡,导致这个activity暂停.举个样例.当一个半透明的activity被打开(比如一个dialog样式的activity), ...
- bzoj4547: Hdu5171 小奇的集合(矩阵乘法)
4547: Hdu5171 小奇的集合 题目:传送门 题解: 做一波大佬们的坑...ORZ 不得不说,我觉得矩阵很简单啊,就一个3*3的(直接看代码吧) 给个递推柿纸:f[i]=f[i-1]+max1 ...
- Eclipse里Tomcat报错:Document base ……does not exist or is not a readable directory(图文详解)
问题描述: 严重: Error starting static Resourcesjava.lang.IllegalArgumentException: Document base D:\Code\M ...
- SpringBoot(四) Web开发 --- Thymeleaf、JSP
Spring Boot提供了spring-boot-starter-web为Web开发予以支持,spring-boot-starter-web为我们提供了嵌入的Tomcat以及Spring MVC的依 ...
- Maven配置文件中配置指定JDK版本
1. 在setting.xml文件中的<profiles>标签加入如下配置: <profile> <id>jdk-1.8</id> <activa ...
- 路飞学城Python-Day16
- 移动端的vue项目,启动错误:Module build failed: Error: No PostCSS Config found in:
新建一个postcss.config.js 写上下面代码 `module.exports = { plugins: { 'autoprefixer': {browsers: 'last 5 versi ...