腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
FreeSWITCH中文社区
专栏成员
举报
152
文章
221712
阅读量
60
订阅数
订阅专栏
申请加入专栏
全部文章(152)
tcp/ip(36)
编程算法(31)
访问管理(24)
网络安全(24)
https(21)
http(19)
linux(16)
xml(14)
打包(13)
lua(11)
api(11)
node.js(10)
javascript(8)
NAT 网关(8)
开源(8)
nat(8)
配置(8)
json(7)
git(7)
github(7)
html(6)
腾讯云测试服务(6)
容器(6)
数据库(5)
网站(5)
windows(5)
路由(5)
c++(4)
python(4)
makefile(4)
sql(4)
命令行工具(4)
socket编程(4)
微信(4)
安全(4)
java(3)
php(3)
android(3)
nginx(3)
容器镜像服务(3)
视频处理(3)
分布式(3)
ssh(3)
测试(3)
服务器(3)
数据(3)
通信(3)
系统(3)
协议(3)
.net(2)
ide(2)
unix(2)
centos(2)
SSL 证书(2)
DevOps 解决方案(2)
企业(2)
markdown(2)
rpc(2)
udp(2)
数据分析(2)
action(2)
data(2)
编码(2)
编译(2)
管理(2)
脚本(2)
交换机(2)
镜像(2)
设计(2)
虚拟机(2)
字符串(2)
负载均衡(1)
语音识别(1)
机器学习(1)
c 语言(1)
bash(1)
regex(1)
vue.js(1)
react(1)
css(1)
arm(1)
嵌入式(1)
云数据库 SQL Server(1)
postgresql(1)
maven(1)
windows server(1)
apache(1)
apt-get(1)
神经网络(1)
深度学习(1)
容器服务(1)
云直播(1)
语音合成(1)
云推荐引擎(1)
人工智能(1)
图像处理(1)
渲染(1)
sass(1)
webpack(1)
存储(1)
缓存(1)
运维(1)
压力测试(1)
爬虫(1)
shell(1)
正则表达式(1)
面向对象编程(1)
dns(1)
flash(1)
敏捷开发(1)
机器人(1)
安全漏洞(1)
微服务(1)
迁移(1)
数据脱敏(1)
app(1)
conda(1)
crontab(1)
expression(1)
field(1)
flags(1)
function(1)
gpt(1)
ip(1)
local(1)
location(1)
mp4(1)
openresty(1)
project(1)
proxy(1)
record(1)
server(1)
stream(1)
var(1)
video(1)
wiki(1)
wikipedia(1)
变量(1)
部署(1)
操作系统(1)
程序(1)
登录(1)
函数(1)
教程(1)
进程(1)
开发(1)
客户端(1)
可视化(1)
框架(1)
路由器(1)
日志(1)
入门(1)
软件(1)
摄像头(1)
视频(1)
手机(1)
索引(1)
网关(1)
网络(1)
信息安全(1)
异常(1)
音频(1)
隐私(1)
语音(1)
源码(1)
终端(1)
UX(1)
搜索文章
搜索
搜索
关闭
将SIP Trace放入日志文件(mod_logfile)
tcp/ip
windows
访问管理
shell
今天,看大家在QQ群中聊到不知道如何在FreeSWITCH中将SIP Trace的结果放入日志文件中。我便答应大家我今晚研究一下。 事情的起因是这样的。FreeSWITCH内置了SIP Trace,可以很方便的在控制台或fs_cli中抓到SIP消息,配合日志调试起来非常方便。以前我应该也讲过,在FreeSWITCH中开启SIP Trace的命令是: sofia global sip trace on 当然,也可以单独针对某个Profile开启或关闭日志,如: sofia profile internal siptrace on sofia profile internal siptrace off 问题时,开启日志后SIP消息只能在控制台上显示,但不会同时进入日志文件中,显然,如果想从日志文件中同时看到SIP就比较麻烦了。因而,便出现了今天的主题:如何将SIP Trace放入日志? 首先,我想,提到该问题的人可能一般的是Windows用户吧。因为一般来说,我在Mac上(或Linux)上,Shell足够好用,因而,可以毫不费力的在Shell窗口(即FreeSWITCH控制台上)中将带有SIP消息的日志一块Copy出来粘贴到其它文件中。但在Windows上就没有那么方便了,因为Windows的命令行窗口出奇的烂,从里面Copy个文字特别麻烦。而且,有很多人根本不知道如何Copy(虽然确实有办法可以做到)。因而,常见的做法是直接用QQ抓屏,但很显然,抓屏是有限制的,那就是,一屏能显示的信息实在是太短了,如果要抓到SIP消息,那简直是个累死人的活。 而且,在此我也想插一句,我在帮人看日志时是非常讨厌抓屏的。因为看起来其实不直观,而且,没法搜索,没法Copy,没法引用…,总之,不爽。可能光说不爽有人觉得我矫情,那就说一下为什么不爽吧。比如有人在QQ群中问了个问题,我问他打的是什么命令,它将他打的命令抓了个图片发到QQ群中,我一眼就发现他的命令该怎么改成正确的方式,只要我将它的命令复制一遍,改几个字即可,但是,由于他是抓屏,因此我没法修改... 言归正传,所以,特别是Windows用户,一般是到日志文件中去找到相应的日志再复制出来,并且,有时候他们也希望SIP Trace出来的消息也同时在日志文件里面。 当然,既然我答应大家研究,就一定要出结果的(为什么要研究呢?因为我一直不用,所以没试过)。通过研究我发现,写日志文件的功能是在mod_logfile中实现的。里面有这么一行配置: <map name="all" value="debug,info,notice,warning,err,crit,alert"/> 到这里科普一下。在FreeSWITCH中,日志是有级别的,一般来说就是上面列的一些级别。当然,上面没有包括一个特殊的级别,那就是 console 级别。而SIP Trace的消息正是在 console 级别的,因而,它只有控制台上显示,而不会在日志文件中显示。明白了这个道理,想办法将console级别的日志放入日志文件就简单了,修改配置如下: <map name="all" value="console,debug,info,notice,warning,err,crit,alert"/> 然后,重新加载模块即可: reload mod_logfile 再看SIP Trace的结果,都写到日志文件中去了,Bingo! 当然,任何事情并不只有一种办法,第二种办法是什么呢?留点引子,明天再讲。 既然今天说到mod_logfile,就索性把这一模块也讲了吧。其实,有了上面的,也没什么好讲的。mod_logfile的作用就是将系统日志写到日志文件中去,并有相应的参数配置文件的路径以及文件的最大长度。如果文件写到一定的大小,则会自动发生轮转(rotate),以防止在长期运行过程中产生巨大无比的日志文件。 ---------------------------------------- 题图:Log 来自 Google Log本来是「圆木」的意思,但我们这些程序员们都将Log译为「日志」。 ---------------------------------------- FreeSWITCH-CN是什么? FreeSWITCH-CN是FreeSWITCH中文社区,我们的官方网站是 http://www.freeswitch.org.cn 。FreeSWITCH-CN同时也是一个微信公共账号,可以通过点击本页最顶端的“FreeSWITCH中文社... ”,或在通迅录->订阅号中搜索“FreeSWITCH-CN”来订阅,也可以到官方网站上扫描二维码。当然,不管是新用户还是老用户,随时都可以输入m或1显示本账号的主菜单。 FreeSWITCH-
Seven Du
2020-12-21
2K
0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
立即查看
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档