当前位置: 首页 > news >正文

怎么做充值网站进入百度知道首页

怎么做充值网站,进入百度知道首页,天津市网站建设 网页制作,阿里巴巴网站开发工具关键词: 日志系统 、日志分类、自动分文件夹、按时间(月/周/日/小时/分)轮替 一、引言 这里我默认看此文的我的朋友们都已经具备一定的基础,所以,我们本篇不打算讲关于log4cplus的基础内容,文中如果涉及到没有吃透的点,需要朋友们动动自己聪明的脑袋和发财的手指,进一…

关键词: 日志系统 、日志分类、自动分文件夹、按时间(月/周/日/小时/分)轮替

一、引言

这里我默认看此文的我的朋友们都已经具备一定的基础,所以,我们本篇不打算讲关于log4cplus的基础内容,文中如果涉及到没有吃透的点,需要朋友们动动自己聪明的脑袋和发财的手指,进一步寻找答案。

如标题所示,本篇我们不是单纯的在应用程序中集成log4cplus,然后按照配置的日志生成规则生成日志文件;再此基础上我们玩点儿高级的(只能说是log4cplus已经提供高级的模块),对,没错,我们要使用log4cplus快速打造一个支持分布式的日志系统。

这里,我们有如下图所示的简单设计目标:
在这里插入图片描述
多个机台的服务数据,通过tcp 网络发送到日志服务器,然后日志服务处理日志信息存储到日志数据库或者文件中(本文以存储到文件为例

想想,聪明的你肯定也觉得超级简单,一个C/S的框架足以搞定一切;只需要一点时间编写一个客户端,编写一个高性能的服务端,编写同一的日志接口;最多再额外的添加点扩展功能,譬如脚本的拓展,配置文件的拓展(脚本也好,配置文件也好,都是小case,自己写点解析的接口)… 诸多的小问题放在一起,就变成了时间成本。
所以,本文将基于log4plus,教你如何快速打造一个高性能、可定制化的分布式日志系统。

二、日志服务端

这里不多说,无非是创建一个tcp的服务端,循环监听和读日志信息,数据分发处理(写文件)。


#include <cstdlib>
#include <list>
#include <iostream>
#include <log4cplus/configurator.h>
#include <log4cplus/socketappender.h>
#include <log4cplus/helpers/socket.h>
#include <log4cplus/thread/threads.h>
#include <log4cplus/spi/loggingevent.h>
#include <log4cplus/thread/syncprims.h>
#include <log4cplus/log4cplus.h>namespace loggingserver
{typedef std::list<log4cplus::thread::AbstractThreadPtr> ThreadQueueType;class ReaperThread: public log4cplus::thread::AbstractThread
{
public:ReaperThread (log4cplus::thread::Mutex & mtx_,log4cplus::thread::ManualResetEvent & ev_,ThreadQueueType & queue_): mtx (mtx_), ev (ev_), queue (queue_), stop (false){ }virtual~ReaperThread (){ }virtual void run ();void signal_exit ();private:log4cplus::thread::Mutex & mtx;log4cplus::thread::ManualResetEvent & ev;ThreadQueueType & queue;bool stop;
};typedef log4cplus::helpers::SharedObjectPtr<ReaperThread> ReaperThreadPtr;void
ReaperThread::signal_exit ()
{log4cplus::thread::MutexGuard guard (mtx);stop = true;ev.signal ();
}void
ReaperThread::run ()
{ThreadQueueType q;while (true){ev.timed_wait (30 * 1000);{log4cplus::thread::MutexGuard guard (mtx);// Check exit condition as the very first thing.if (stop){std::cout << "Reaper thread is stopping..." << std::endl;return;}ev.reset ();q.swap (queue);}if (! q.empty ()){std::cout << "Reaper thread is reaping " << q.size () << " threads."<< std::endl;for (ThreadQueueType::iterator it = q.begin (), end_it = q.end ();it != end_it; ++it){AbstractThread & t = **it;t.join ();}q.clear ();}}
}/**This class wraps ReaperThread thread and its queue.*/
class Reaper
{
public:Reaper (){reaper_thread = ReaperThreadPtr (new ReaperThread (mtx, ev, queue));reaper_thread->start ();}~Reaper (){reaper_thread->signal_exit ();reaper_thread->join ();}void visit (log4cplus::thread::AbstractThreadPtr const & thread_ptr);private:log4cplus::thread::Mutex mtx;log4cplus::thread::ManualResetEvent ev;ThreadQueueType queue;ReaperThreadPtr reaper_thread;
};void
Reaper::visit (log4cplus::thread::AbstractThreadPtr const & thread_ptr)
{log4cplus::thread::MutexGuard guard (mtx);queue
http://www.hkea.cn/news/646872/

相关文章:

  • 简述电子商务网站开发的基本原则一站式网络营销
  • 商丘网站网络推广员的工作内容和步骤
  • 取消wordpress邮箱认证北京搜索优化排名公司
  • 千库网素材南宁seo优势
  • 西安机场商务宾馆百度做网站怎么在百度上做网站
  • ps网站建设seo网络公司
  • 网站建设步骤 教 程网站怎么做谷歌推广
  • 网站制作需要注意什么潍坊做网站哪家好
  • 专门做团购的网站有哪些色盲图
  • 百度做网站续费费用百度营业执照怎么办理
  • 深圳网站建设方维网络企业网站制作要求
  • 制作好网站黑帽seo教程
  • 云南 网站建设网站seo优化对网店的推广的作用为
  • 网站建设免费国外舆情服务公司
  • 怎么做网站banner查排名网站
  • 做网站好看的背景图片相关搜索优化软件
  • 怎么查网站是哪家制作公司做的百度收录查询
  • 企业年金交了有好处吗网络优化工程师吃香吗
  • python做网站开发百度6大核心部门
  • 自己做网站平台企业网站优化价格
  • 淘宝网网站建设的需求分析百度会员登录入口
  • 建网站的专业公司推广网站多少钱
  • 网站不去公安局备案自己怎么搭建网站
  • 外贸网站建设入门深圳网络推广哪家
  • 网站模板资源公司网站推广
  • 广东省建设教育协会官方网站首页html简单网页代码
  • 个人网站意义阿里指数官网最新版本
  • 网站开发方式有哪四种搜索引擎优化课程总结
  • 申请做网站、论坛版主app推广接单
  • 青海网站建设广州seo优化推广