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

seo网站优化网站编辑招聘wordpress更改主题背景

seo网站优化网站编辑招聘,wordpress更改主题背景,成都网站推广多少钱,这几年做那个网站能致富一、前言在项目开发中#xff0c;日志系统是系统的一个重要组成模块#xff0c;通过在程序中记录运行日志、错误日志#xff0c;可以让我们对于系统的运行情况做到很好的掌控。同时#xff0c;收集日志不仅仅可以用于诊断排查错误#xff0c;由于日志同样也是大量的数据日志系统是系统的一个重要组成模块通过在程序中记录运行日志、错误日志可以让我们对于系统的运行情况做到很好的掌控。同时收集日志不仅仅可以用于诊断排查错误由于日志同样也是大量的数据通过对这些数据进行集中分析可以产生极大的价值。  在微服务的系统架构中由于一个系统会被拆成很多个功能模块每个模块负责不同的功能对于日志系统的要求也会更高比较常见的有 EFLK(ElasticSearch Filebeat LogStash Kibana) 方案而对于我们这种单体应用来说由于程序的代码比较集中所以我们主要采用手写日志帮助类或是使用第三方组件的形式进行日志信息的记录。  系列目录地址ASP.NET Core 项目实战  仓储地址https://github.com/Lanesra712/Grapefruit.VuCore 二、Step by Step  1、为什么选择 NLog 和 MongoDB  在 ASP.NET Core 中巨硬为我们提供了一个 ILogger 接口通过 ILogger 接口我们可以很方便的将日志信息输出到控制台中不过在控制台中查看日志信息会显得不太方便因此我们可以通过实现该接口或是直接使用第三方的框架来实现将日志信息记录到别的存储介质中。  在 .NET Framework 时代对于第三方的日志框架的选择绝大多数童鞋首选的都会是 log4net 这一根据 Log4j 移植的日志框架不过由于 log4net 目前已经接近有3年的时间没更新了所以就不在考虑范围内。综合比较下官方文档中推荐的几款第三方日志框架最终还是选择 NLog 这一目前使用人数相对来说比较多的框架毕竟用户多的话遇到什么问题也好找资料。  通常我们会将日志信息记录到 txt or log 文件中虽然你可以通过修改日志布局让日志信息具有良好的可读性不过在信息多的情况下查阅时还是会显得不太方便。因为不仅做到对于错误信息做到记录还需要记录程序在运行时的访问日志所以将日志信息写入到关系型数据库中就不是特别合适了。  而 MongoDB 作为一个文档型的 NoSQL 数据库相比于传统的关系型数据库NoSQL 数据库具有更好的扩展性、以及能提供更出色的性能因此我最终选择将日志信息记录到 MongoDB 中。当然最主要的原因还是目前在工作中有开始尝试用 MongoDB 存储用户上传的文件在找资料的过程中看到有使用 MongoDB 存储日志的案例Grapefruit.VuCore 既然作为一个学习项目所以就要多尝试尝试啊。  2、安装 MongoDBWindows  因为是第一次使用 MongoDB所以我们需要提前安装 MongoDB Server我是直接安装到我的开发机上(Windows 10)所以这里只是演示如何在 Windows 上进行 MongoDB 的安装与配置如何在 Linux or Docker 中进行安装配置我将在后面的文章中进行演示。毕竟这个项目的最终准备通过 Docker 部署到 Linux 上的总在 Windows 上玩是不合适滴。  首先打开 MongoDB 官网获取到我们的安装包下载地址MongoDB Community Download选择 Server tab 后按照我们的操作系统选择安装包下载即可。  双击下载好的 msi 文件开始安装这里我选择 Complete完整安装如果你想要指定安装的组件和安装的位置你可以选择 Custom自定义安装。  在 MongoDB 之前的版本中如果我们需要将 MongoDB Server 作为 Windows 服务需要我们在安装完成之后进行配置但是从 MongoDB 4.0 开始我们就可以在安装期间直接配置和启动我们的 MongoDB 作为 Windows 服务了当我们安装成功后就会自动启动 MongoDB 服务。嗯相信我如果你上网搜索 Windows 下的 MongoDB 安装你会发现 90% 的文章因为是针对 MongoDB 之前版本的都会在安装完成之后需要你指定日志地址、指定存储地址配置 Windows 服务啊而如果你和我一样安装的是 MongoDB 4.0 以上的版本这些统统都不要是不是很超值。  这里勾选上 Install MongoD as a Service当我们安装完成后就会自动启动 MongoDB 服务同时对于这里的配置项我们不做任何的改动。  Service Name创建的 Windows 服务名称如果已经存在了则需要更换名称  Data Directory存储数据的目录  Log Directory存储 MongoDB Log 日志的目录  点击 Next 之后安装程序会询问你是否需要安装 MongoDB CompassMongoDB Compass 是官方的一个可视化管理工具毕竟总是用黑乎乎的 shell 还是不太方便的这里看你自己的需求决定是否安装这个工具。  当我们安装完成后MongoDB 的服务也就已经启动了此时你就可以连接上你的 MongoDB Server 了这里我是使用 Navicat 进行连接。对于这个服务你同样可以在计算机管理中对这个服务进行管理。  在默认情况下当我们安装好 MongoDB 后是不允许远程访问以及不存在任何的用户权限的。而这些在我们正式使用中都是需要考虑的。  首先配置我们的 MongoDB Server 以允许用户进行远程访问。找到程序安装路径下面的 mongod.cfg 文件如果你使用的是默认配置则该文件位于 C:\Program Files\MongoDB\Server\4.0\bin修改 bindIp 属性值为 0.0.0.0重启 MongoDB 服务确保 27017 端口外界可以访问后则可以远程访问我们的 MongoDB 服务。  当我们允许远程访问我们的 MongoDB 服务后我们更应该为 MongoDB 配置权限。与我们经常使用的 SQL Server 或是 MySQL 不同MongoDB 中的权限是针对每一个数据库的也就是说我们需要为使用到的数据库创建用户并配置权限。  打开 Navicat连接安装好的 MongoDB 服务。  第一步将默认数据库切换到 admin 数据库创建一个管理员用户这里我就将管理员用户的角色设置为 root 用户。//切换到 admin 数据库use admin//创建一个管理员用户db.createUser({user: user name,     pwd: user password,roles: [ { role: root, db: admin } ]} )  当我们创建好管理员用户后我们就可以为数据库配置用户与权限了。右击连接名称新建一个数据库 GrapefruitVuCore切换到 GrapefruitVuCore 数据库后新建一个可以读写的用户 grapefruit。用户都创建完成后关闭我们的 MongoDB 连接。//切换到 admin 数据库use GrapefruitVuCore//创建一个管理员用户db.createUser({user: grapefruit,     pwd: grapefruit,roles: [ { role: readWrite, db: GrapefruitVuCore } ]} )  当用户已经创建完成之后我们就可以修改配置文件启用权限控制。还是在 mongod.cfg 中取消 security 节点的注释添加授权配置修改完成后重启服务此时MongoDB 就必须通过账户密码登录了。  当服务重启之后如果你还是按照之前的方式连接则会提示你权限不足你需要修改 Navicat 的连接配置。将验证方式修改成 Password输入账户、密码并指定需要登录的数据库重新连接即可。  PS这里我使用账户、密码登录进入 GrapefruitVuCore 后右侧的连接下面是没有显示这个数据库的但这个数据库是真实存在的不晓得这是个啥问题。  MongoDB 内置的用户角色权限  read允许用户读取授权的数据库  readWrite允许用户读写授权的数据库  dbAdmin允许用户在授权的数据库中执行管理操作如索引创建、删除查看统计或访问system.profile  userAdmin允许用户向 system.users 集合写入可以在指定数据库里创建、删除和管理用户  clusterAdmin只在 admin 数据库中可用赋予用户所有分片和复制集相关函数的管理权限。  readAnyDatabase只在 admin 数据库中可用赋予用户所有数据库的读权限  readWriteAnyDatabase只在 admin 数据库中可用赋予用户所有数据库的读写权限  userAdminAnyDatabase只在 admin 数据库中可用赋予用户所有数据库的 userAdmin 权限  dbAdminAnyDatabase只在 admin 数据库中可用赋予用户所有数据库的 dbAdmin 权限。  root只在admin数据库中可用。超级账号超级权限  3、使用 NLog 记录日志信息  当我们安装配置好 MongoDB 后有了存储日志信息的介质我们就可以使用 NLog 来记录我们的程序日志信息了。首先我们需要为项目中添加对于 NLog 的引用右击 Grapefruit.WebApi 打开管理 Nuget 程序包页面或是使用程序包管理器控制台选中默认项目为 Grapefruit.WebApi添加 NLog、NLog.Web.AspNetCore、NLog.Mongo。Install-Package NLog Install-Package NLog.Web.AspNetCore Install-Package NLog.Mongo  NLog 和 NLog.Web.AspNetCore 为 ASP.NET Core 添加了对于 NLog 的平台支持在 NLog 中我们可以通过继承 NLog.Targets.TargetWithLayout 来为 NLog 添加更多的输出介质支持而 NLog.Mongo 就是为 NLog 添加输出日志信息到 MongoDB 的支持。嗯尝试了自己写一直有问题最后还是用的别人写好的哈哈哈水平太菜。  当我们添加好引用后在 Grapefruit.WebApi 下添加一个 NLog 的配置文件 nlog.config文件名全部需要小写右键 nlog.config打开属性窗口将复制到输出目录修改成较新才复制或是总是复制都可以。  在配置文件中nlog 节点必须是 xml 文件的根节点同时包含三个主要的子节点extensions、targets、rules。  extensions当你不仅仅只使用 NLog 这一个基础的 dll 并使用了一些基于 NLog 扩展的工具时你就需要在 extensions 节点下面添加引用的程序集名称。例如这里我添加了 NLog.Web.AspNetCore 这个程序集从而达到 NLog 对于 ASP.NET Core 的支持以及添加了 NLog.Mongo 这个程序集用来将日志信息输出到 MongoDB 中。  targetstargets 节点下包含了我们需要输出的日志的信息内容以及日志信息的布局例如这里我按照日期输出两个文件 nlog-all-date.log 和 nlog-own-date.log分别记录所有的日志信息以及我们自定义记录的信息。因为我们是需要将日志信息写入 MongoDB 中的这里我也添加了一个子节点用来设置写入 MongoDB 数据库中的数据字段。  rulesrules 节点是将需要记录的日志级别关联到记录日志的方式上。这里我是将只要是 Trace 以上的都进行日志记录。?xml version1.0 encodingutf-8?nlog xmlnshttp://www.nlog-project.org/schemas/NLog.xsdxmlns:xsihttp://www.w3.org/2001/XMLSchema-instanceautoReloadtrueinternalLogLevelinfointernalLogFilec:\Temp\GrapefruitVuCore\internal-nlog.txt!-- enable asp.net core and mongodb layout renderers --extensionsadd assemblyNLog.Web.AspNetCore/add assemblyNLog.Mongo//extensions!--internal-nlog:NLog启动及加载config信息--!--nlog-all:所有日志记录信息--!--nlog-own:自定义日志记录信息--!-- the targets to write to --targets!-- write logs to file  --target xsi:typeFile nameallfile fileNamec:\Temp\GrapefruitVuCore\nlog-all-${shortdate}.loglayout日志记录时间${longdate}${newline}日志级别${uppercase:${level}}${newline}日志来源${logger}${newline}日志信息${message}${newline}错误信息${exception:formattostring}${newline}${newline} /!-- another file log, only own logs. Uses some ASP.NET core renderers --target xsi:typeFile nameownFile-web fileNamec:\Temp\GrapefruitVuCore\nlog-own-${shortdate}.loglayout日志记录时间${longdate}${newline}日志级别${uppercase:${level}}${newline}日志来源${logger}${newline}日志信息${message}${newline}错误信息${exception:formattostring}${newline}url: ${aspnet-request-url}${newline}action: ${aspnet-mvc-action}${newline}${newline} /!-- write log to mongodb--target xsi:typeMongonamemongo databaseNameGrapefruitVuCorecollectionNameLogsconnectionStringmongodb://grapefruit:grapefruitlocalhost:27017/GrapefruitVuCorecappedCollectionSize26214400property nameLongDate layout${longdate} bsonTypeDateTime /property nameLevel layout${level} /property nameLogger layout${logger}/property nameMessage layout${message} /property nameException layout${exception:formattostring} /property nameUrl layout${aspnet-request-url} /property nameAction layout${aspnet-mvc-action} /property nameUserName layout${windows-identity} //target/targets!-- rules to map from logger name to target --rules!--All logs, including from Microsoft--logger name* minlevelTrace writeToallfile /!--Skip non-critical Microsoft logs and so log only own logs--logger nameMicrosoft.* maxLevelInfo finaltrue /!-- BlackHole without writeTo --logger name* minlevelTrace writeToownFile-web /!--Add logs to mongodb--logger name* minlevelTrace writeTomongo//rules/nlog   当我们设置好配置文件后就可以在 Program.cs 中启用 NLog 去记录日志。运行我们的项目后就可以查看记录的日志信息了这里我在 txt 文件中和 MongoDB 中都有记录日志信息具体看你自己的需求了。public class Program {    public static void Main(string[] args){        //加载日志配置信息文件后去捕获所有的错误var logger NLogBuilder.ConfigureNLog(nlog.config).GetCurrentClassLogger();        try{logger.Info(Init Log API Information);CreateWebHostBuilder(args).Build().Run();}        catch (Exception ex){logger.Error(ex, Stop Log Information Because Of Exception);}        finally{LogManager.Shutdown();}}    public static IWebHostBuilder CreateWebHostBuilder(string[] args) WebHost.CreateDefaultBuilder(args).UseStartupStartup().ConfigureLogging(logging {logging.ClearProviders();//移除其它已经注册的日志处理程序logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);//记录最小日志级别            }).UseNLog();//注入 NLog 服务}  另外在 appsettings.json 中指定的 Logging 配置会覆盖任何对于 SetMinimumLevel 方法的调用。因此你可以删除配置文件中的 default 属性或是根据你自己的需要进行调整。{    Logging: {        LogLevel: {            Default: Trace,            Microsoft: Information}} } 三、总结   本章主要是演示如何在 Windows 上安装 MongoDB Server 以及在 ASP.NET Core 项目中使用 NLog 将日志信息记录到 MongoDB 中。在我们使用这些这些第三方开源框架时可能会遇到很多问题当你无法解决的时候项目的 Issue 是个好地方多搜搜很大可能你就会得到解决方案。原文地址:https://www.cnblogs.com/danvic712/p/10226557.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://wiki.neutronadmin.com/news/117045/

相关文章:

  • 自己网站怎么做百度优化网络推广公司服务内容
  • 网站自响应苍南规划建设局网站
  • 查询网站空间的服务商wordpress英文企业模板
  • 深圳品牌网站制作自己设计小程序
  • ppt免费下载雷锋网站wordpress 如何发布文章
  • 公司网页网站建设 ppt直通车推广技巧
  • 上传网站根目录潍坊建设gc局网站
  • 新手如何做服装网站晋中网络推广
  • 化妆品可做的团购网站有哪些重庆做网站的网络公司
  • 陕icp网站建设临沂小程序开发公司哪家好
  • 企业网站招聘可以怎么做做网页
  • 大型网站开发语言排名北京做网站比较有名的公司有哪些
  • 广州设计网站培训班国际新闻最新战争消息
  • 重庆网站建设熊掌号小红书搜索优化
  • google网站推广网站后台如何添加附件
  • 石家庄做网站公司汉狮价格sem推广软件哪家好
  • 搜狗搜索排名优化重庆官网优化乐育公司
  • 手机网页设计制作网站图片设计软件免费版
  • 深圳app外包公司排行榜广州网站制作十年乐云seo
  • 网站后台管理系统开发中山网站只设计
  • 做网站的网络公司网站商城具有哪些功能模块
  • 医疗设备网站建设怎么做湖南省建设厅官网查询证书
  • 棋牌游戏网站建设简约大气风格网站模板
  • 石柱网站建设网站怎么做图片动态图片不显示不出来
  • 佛山行业网站设计小学网站建设方案书
  • 商城网站平台访问网站 流程图
  • 河南平顶山网站建设公司做公司官网需要哪些数据
  • 北京小程序制作卓越华网天下seo和网络推广有什么区别
  • 网站集约化建设做法建设银行网站招聘官网
  • 完整个人网站htmlwordpress幻灯片图片主题