在大叔lind框架里有日志组件logger,而在日志实现方式上有file,mongodb,sql,json等方式,对分布式日志处理上大叔推荐使用mongodb进行存储,除了它的高效写入,灵活的结构外,还有对复杂条件的支持,你可以从百万数据中查询到你需要的内容,这点是关系数据库不能实现的,你无法想法使用like这种语句是百万数据中全表扫描...

大叔日志管理UI

aaarticlea/png;base64,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MweaHKtIppyQj5a+1u3Fixe/+93v/vCHP3z33Xf/7x757y/+M/Pf//nv//q/v//vp0+fvnjx4lHFB/J89913f/jDH373u99VRcLjBgNE5USRwBldJM+fPx8+i7bgxYsXz58/X3NCPmb6Wrdnz5798Y9//Otf//rixYuX98h/f/GfyVD84he/+OUvf/nVV189qvhAnhcvXvz1r3/94x//WBUJjxsMEJUTRQJnRJE8f/587BTamufPnw+fkI+Zvtbt888///7773/88ceffvppI0HX5aF1y3zw9otf/OKf/umfPv/883L53ccH8vz0008//vjj999/XxVJHsoJzkTlRJHAGVEkL1++vJYqzcuXL4dPyMdMX+v229/+9sWLF3d8RnS1bv/wD//w29/+tlx+9/GBLn766acXL15URZKHcoISt5woEiiJiuRaejLcuLzbpLt1u9nmfQrrW7f7jg/08vLlyzWtG+UEJbacKBKocIvkWmIy3Li824TW7QJaN5gLrRtMhNYNmtC6PQZo3S6gdYO50LrBRGjdoAmt22OA1u0CWjeYC60bTITWDZrQuj0GaN0uoHWDudC6wURo3aAJrdtjgNbtAlo3mMurY/SzD04eP/v4m9cTv/n4Z8WrZVkoJzDQukETWrfHAK3bBfu2bt89/eSTp9+dr399wfnO8vWTXz/5+nLl109+bcY8I77B5bunn5yXvxZRrS1mwwouj9HPPjidPvisvP/Nxz97GFnbujkl8fWTZhrLSnBvUk43xbrWLZtQu0zlz71tB4NqbBjPFDFcMrF1c06lV3z2wcWNzz44BRMT0LoNsF/r9u1//Pztt9/+1W/Ksd/86u2f/8e35cWVuV7rdkl5XjmznGYub9A9vz95+nXx/stxOY3yGD2fg+d+bVrrdq4I8e785Ouvn8Tv3Jczl1e2KKfbYnXrljhwOpa9WX35/w3O/xGcd3hdMJ88ffqkKhp/j+D/UyFivHULfjjg/qzgm49/du7WonWX/5saQus2wG6t229+9fbbP//5zy87tMfauomP2B4oT1LTp3339JNXA/Whlj2ao49JeK+dzptj9LMPypPs9f+lzmjdzmmv8jbhUzfK6bbYoXWTH83Z/v5s+eLEcn9O8OaoK4S8ujyP5LanlRNM+tTtsw9OH3z88c9+9vHHHwQ92MORVvyPaEkw7EHrNsBerdtv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" alt="" />

对多个检索条件的支持

  1. 条件创建者
  2. 初者化空条件
  3. 条件拼接
NameValueCollection nv = new NameValueCollection();

            var builder = Builders<GlobalLogger>.Filter;
var filter = builder.Empty;
if (!string.IsNullOrWhiteSpace(level) && level != "All")
{
filter = builder.Eq("level", level);
nv.Add("level", level);
}
if (startTime.HasValue)
{
filter = filter & builder.Gte("DataCreateDateTime", startTime.Value);
nv.Add("startTime", startTime.Value.ToString());
}
if (endTime.HasValue)
{
filter = filter & builder.Lte("DataCreateDateTime", endTime.Value);
nv.Add("endTime", endTime.Value.ToString());
}
if (!string.IsNullOrWhiteSpace(keyword))
{
filter = filter & builder.Regex("Message", new BsonRegularExpression(new Regex(keyword)));
nv.Add("keyword", keyword);
}
int pageSize = 10;
nv.Add("pageSize", pageSize.ToString());
int skip = (int)Math.Ceiling((double)((page - 1) * pageSize)); var table = Lind.DDD.MongoDbClient.MongoManager<GlobalLogger>.Instance
.Find(filter)
.SortBy(i => i.DataCreateDateTime);
ViewBag.total = table.Count();
ViewBag.nv = nv; var model = table.Skip(skip)
.Limit(pageSize)
.ToList(); return View(model);

然后页面上直接放表表格即可,建议通过bootstrap进行布局,这样有移动设备上也可以使用!

感谢各位的阅读!

最新文章

  1. MySql联接算法
  2. [OC]UILabel 文字长的截断方式
  3. springMVC核心配置文件样例
  4. ios crash 日志分析
  5. JAVA基础学习day17--集合工具类-Collections
  6. python数据类型—列表(增改删查,统计,取值,排序)
  7. OpenGL ES 2.0 摄像机与投影
  8. CodeForces 614B Gena&#39;s Code
  9. HTM5新手学习的一些日常总结,相互交流和相互学习。
  10. Django的ModelForm
  11. centos安装软件依赖问题
  12. win8如何共享文件夹
  13. jersey 开启gzip
  14. 自兴人工智能 python特点了解
  15. Netty原理分析
  16. Express4.x API (三):Response (译)
  17. f-GAN
  18. linux一些稍微高级的命令
  19. tp3.2sql改变时间格式
  20. LeetCode题解之Binary Tree Tilt

热门文章

  1. 【小记事】电脑命令行开WiFi
  2. Bootstrap官网文档查询
  3. Servlet自动刷新页面
  4. spring-boot上传文件MultiPartFile获取不到文件问题解决
  5. Ansible 2.0公布
  6. RELU 激活函数及其他相关的函数
  7. [LeetCode][Java] Jump Game II
  8. NDK开发,没有你想象的那么难
  9. IE6\7\8 :last-child 和 :first-chlid 兼容
  10. jboss相关的术语