【技术实现步骤摘要】
本申请涉及计算机网络领域,尤其涉及一种输出日志的方法及系统。
技术介绍
用户通过互联网浏览一个页面时,会先从电脑配置的DNS (Domain NameSystem,域名解析系统)找到ip地址,然后根据ip地址和路由,找到实际的服务器地址,再将请求发送到web服务器,web服务器收到请求后,响应请求内容后,再记录日志。请参考图1,其为传统的apache+pipe+cronolog记录日志方式,在apache启动的时候,会按照客户端client的配置个数启动多个apache进程来接受网页访问请求,所述日志记录方式启动后,每个apache子进程按照apache多进程机制轮转运行。同时,所述记录日志方式还会启动一个cronolog子进程,cronolog进程不断读取从管道pipe过来的内容,并将其写到对应的日志文件里。本申请的申请人在实现本申请实施例的过程中,发现上述技术方案存在如下问题:—、在多个apache进程发送数据内容到管道pipe时,由于apache内核是利用P0SIX(可移植操作系统接口)的PIPE_BUF作为缓存区,其配置值为4K,如果传送的数据内容超出4 ...
【技术保护点】
一种输出日志的方法,其特征在于,应用于一WEB服务器中,所述WEB服务器包括至少一个apache子进程,及一个server子进程,基于domain?socket机制,在所述至少一个apache子进程中每个apache子进程与所述server子进程间建立有对应有数据接收端口的socket;一个监听端口,用于监听所述至少一个apache子进程中是否有apache子进程发出连接请求,所述方法包括:通过所述监听端口接收由所述至少一个apache子进程中一个子进程发送的连接请求;基于所述连接请求,打开所述连接请求对应apache子进程对应的socket对应的数据接收端口;接收由所述连 ...
【技术特征摘要】
1.一种输出日志的方法,其特征在于,应用于一 WEB服务器中,所述WEB服务器包括至少一个apache子进程,及一个server子进程,基于domain socket机制,在所述至少一个apache子进程中每个apache子进程与所述server子进程间建立有对应有数据接收端口的socket ;一个监听端口,用于监听所述至少一个apache子进程中是否有apache子进程发出连接请求,所述方法包括: 通过所述监听端口接收由所述至少一个apache子进程中一个子进程发送的连接请求; 基于所述连接请求,打开所述连接请求对应apache子进程对应的socket对应的数据接收端口 ; 接收由所述连接请求对应apache子进程发送来的日志数据包; 在接收到日志数据包的数据长度达到所述日志数据包的包头中包含的数据长度值时,将所述日志数据包写成日志文件。2.如权利要求1所述的方法,其特征在于,所述通过所述监听端口接收由所述至少一个apache子进程中一个子进程发送的连接请求,具体包括: 基于预先配置的socket文件,绑定所述监听端口 ; 利用EPOLL功能,监听所述监听端口 ; 接收由所述至少一个apache子进程中一个子进程发送的连接请求。3.如权利要求1所述的方法,其特征在于,在所述至少一个apache子进程为多个子进程时,所述基于所述连接 请求,打开所述连接请求对应apache子进程对应的socket对应的数据接收端口,具体为: 基于所述多个子进程发送连接请求的时间顺序,基于所述多个子进程中每个子进程发送的连接请求,打开所述多个子进程中每个子进程的连接请求对应apache子进程对应的socket对应的数据接收端口。4.如权利要求1、2或3所述的方法,其特征在于,所述接收由所述连接请求对应apache子进程发送来的日志数据包,具体为: 基于epoll_wait给的事件触发顺序,接收由所述连接请求中每个连接请求对应apache子进程发送来的日志数据包。5.如权利要求1、2或3所述的方法,其特征在于,所述在接收到日志数据包的数据长度达到所述日志数据包的包头中包含的数据长度值时,将所述日志数据包写成日志文件,具体为: 在接收到日志数据包的数据长度达到所述日志数据包的包头中包含的数据长度值时,采用所述server子进程的轮转...
【专利技术属性】
技术研发人员:徐绿兵,刘晓溪,甄颖珊,张振中,刘勇,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。