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

企业做网站要多少钱go语言网站开发教程

企业做网站要多少钱,go语言网站开发教程,网页设计作业假面骑士,h5制作工具免费版ECS 记录器是你最喜欢的日志库的格式化程序/编码器插件。它们可让你轻松将日志格式化为与 ECS 兼容的 JSON。ECS 兼容的 JSON 日志记录可以帮我们简化很多分析#xff0c;可视化及解析的工作。在今天的文章里#xff0c;我来详述如何在 Java 应用里生成 ECS 相兼容的日志。 …ECS 记录器是你最喜欢的日志库的格式化程序/编码器插件。它们可让你轻松将日志格式化为与 ECS 兼容的 JSON。ECS 兼容的 JSON 日志记录可以帮我们简化很多分析可视化及解析的工作。在今天的文章里我来详述如何在 Java 应用里生成 ECS 相兼容的日志。 如果大家对完整的项目感兴趣你可以在地址下载示例代码。 git clone https://github.com/liu-xiao-guo/elasticsearch-java-ecs 步骤1生成模板 Spring boot 应用 我们可以在 https://start.spring.io/ 生成一个模板的 Spring boot 应用 我们下载所生成的代码并解压缩到我们的电脑目录中。我们可以使用我们所喜欢的 IDE 来进行导入。 步骤 2配置应用程序日志记录 如果你使用的是 Elastic APM Java 代理将日志转换为与 ECS 兼容的 JSON 格式的最简单方法是通过 log_ecs_reformatting 配置选项。只需设置此选项Java 代理就会自动导入正确的 ECS 日志库并配置你的日志框架以使用它来代替覆盖/替换或补充遮蔽你当前的配置。无需进行其他更改请务必查看其他日志配置选项以充分发挥此选项的潜力。 否则请按照以下步骤通过你的日志框架配置手动应用 ECS 格式。支持以下日志框架 LogbackSpring Boot 的默认设置Log4j2Log4jjava.util.logging (JUL)JBoss 日志管理器 在今天的文章里我们来展示如何使用  Log4j2 来进行生成  ECS 相兼容的日志。更多的资料可以在地址查看。 添加 dependency 所需的最低 log4j2 版本为 2.6。下载最新版本的 Elastic 日志记录Maven Central v1.6.0 向你的应用程序添加依赖项 dependencygroupIdco.elastic.logging/groupIdartifactIdlog4j2-ecs-layout/artifactIdversion${ecs-logging-java.version}/version/dependency 提示如果你不使用依赖项管理工具如 maven则必须手动将 log4j2-ecs-layout 和 ecs-logging-core jar 添加到类路径。例如添加到 $CATALINA_HOME/lib 目录。除此之外没有必需的依赖项。 除此之外我们还必须添加如下的 dependency dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-log4j2/artifactId/dependency 这个是为了记录日志之用。 由于 Spring Boot 使用 logback 作为默认记录器因此我们将其从 spring-boot-starter 依赖项中排除。我们需要做如下的修改 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdexclusionsexclusiongroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-logging/artifactId/exclusion/exclusions/dependency 在上面为了能够使得它能在 Java 1.8 下进行编译我必须把上面的 spring-boot-starter 修改为 spring-boot-starter-web否则会有错误。 添加 log4j2.xml 文件 接下来在 src/main/resources 中为 log4j2 记录器 log4j2.xml 添加一个 log4j2 配置。 ?xml version1.0 encodingUTF-8? Configuration statusDEBUGAppendersConsole nameLogToConsole targetSYSTEM_OUTEcsLayout serviceNamemy-app serviceVersionmy-app-version serviceEnvironmentmy-app-environment serviceNodeNamemy-app-cluster-node//ConsoleFile nameLogToFile fileNamelogs/app.logEcsLayout serviceNamemy-app serviceVersionmy-app-version serviceEnvironmentmy-app-environment serviceNodeNamemy-app-cluster-node//File/AppendersLoggersRoot levelinfoAppenderRef refLogToFile/AppenderRef refLogToConsole//Root/Loggers /Configuration 在上面我们定义了日志的文件名 logs/app.log。里面参数的描述请参考链接。 修改 application.properties 文件 我们修改 application.properties 文件为 spring.application.nameelasticsearch-java-ecs spring.main.allow-circular-referencestrue 在应用中使用 Log4j2 来记录日志  我们在 ElasticController class 中使用如下的方式来记录日志 ElasticController.java package com.liuxg.elasticsearch_java_ecs;import java.io.PrintWriter; import java.io.StringWriter; import java.util.Date;import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.message.StringMapMessage;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate;RestController class ElasticController {private static final Logger LOG LogManager.getLogger(ElasticController.class);AutowiredRestTemplate restTemplete;BeanRestTemplate restTemplate() {return new RestTemplate();}RequestMapping(value /)public String home() {String homeMessage Welcome to Elastic ECS logging demo;LOG.info(homeMessage);return homeMessage;}RequestMapping(value /elk)public String helloWorld() {String response Welcome to JAVA new Date();LOG.info(new StringMapMessage().with(message, API called).with(customer.id, client-1).with(product.id, 25a76f91-41dd-49da-8020-3553c9100267).with(customer.action, CREATE));return response;}RequestMapping(value /exception)public String exception() {String response ;try {throw new Exception(Opps Exception raised....);} catch (Exception e) {e.printStackTrace();LOG.error(e);StringWriter sw new StringWriter();PrintWriter pw new PrintWriter(sw);e.printStackTrace(pw);String stackTrace sw.toString();LOG.error(Exception - stackTrace);response stackTrace;}return response;} } 如上所示我们可以使用 Log.info() 来记录日志。在上面的代码中我们使用了三种方式来记录日志 LOG.info(homeMessage); LOG.info(new StringMapMessage().with(message, API called).with(customer.id, client-1).with(product.id, 25a76f91-41dd-49da-8020-3553c9100267).with(customer.action, CREATE));LOG.error(e); 我们为 Spring Boot 应用定义了三个接口。运行我们的 Spring Boot 应用 它将在程序的更目录下的 logs 下生成一个叫做 app.log 的文件 从上面的日志输出中我们可以看出来日志是一个 ECS 相兼容的 JSON 日志文件。我们相下滚动直到文件的底部 上面的最后一条日志就是我们刚生成的日志。 我们接着访问另外一个接口 我们滚动到最后的一条日志 上面显示的是我们的一条自定义的日志。 我们再接着访问一个 exception 接口 同样的我们滚动到最后查看 app.log 日志的内容 我们可以看到日志的内容。 把日志写入到 Elasticsearch 我们配置 filebeat.yml 文件 Filebeat 7.16 filebeat.yaml filebeat.inputs: - type: filestream paths: /path/to/app.logparsers:- ndjson:overwrite_keys: true add_error_key: true expand_keys: true processors: - add_host_metadata: ~- add_cloud_metadata: ~- add_docker_metadata: ~- add_kubernetes_metadata: ~ Filebeat 7.16 filebeat.yaml filebeat.inputs: - type: logpaths: /path/to/logs.jsonjson.keys_under_root: truejson.overwrite_keys: truejson.add_error_key: truejson.expand_keys: trueprocessors: - add_host_metadata: ~ - add_cloud_metadata: ~ - add_docker_metadata: ~ - add_kubernetes_metadata: ~ 针对 exception 这类的错误信息。我们可能需要进行特殊的处理。请参考文章 “Beats使用 Filebeat 传送多行日志”。 更多关于如何写入 ECS 相兼容的 JSON 日志文件请详细阅读文章 Elastic运用 Elastic Stack 分析 Spring Boot 微服务日志 (一二 Elasticsearch使用 Filebeat 从 Node.js Web 应用程序提取日志 Beats使用 Filebeat 从 Python 应用程序中提取日志
http://www.hkea.cn/news/14467673/

相关文章:

  • 余姚企业网站建设禹城有做网站
  • Wordpress多站点共享用户南京专业app开发定制
  • 做化妆品的网站德州专业网站开发公司
  • 重庆哪家公司做网站好小小视频在线观看免费播放
  • 网站备案信息注销原因全国互联网公司排名
  • 网站建设要学编程吗网站网站二维码收钱怎么做的
  • 网站建设完成汇报包头网站建设制作
  • 长沙做网站微联讯点不错做俄罗斯网站
  • 徐州金网网站建设搜索引擎营销的名词解释
  • 大型门户网站最担心的威胁是免费做公益网站
  • 半岛官方网站下载百度一下百度官方网
  • 儿童网站建设自己做优惠劵网站
  • 网站建设的布局对网络推广的影响温州网站优化搜索
  • 哈尔滨建站系统学做PPT报告的网站
  • 入门编程软件seo培训学院官网
  • 建站系统排行榜用ps软件做ppt模板下载网站有哪些
  • 中土南方建设有限公司网站做房地产开网
  • 小天才电话手表网站网站内容怎么写
  • 网站建设合同 英文范文如何建设dj网站
  • 手机网站建设哪家强wordpress微信图片
  • 具有营销型网站有哪些湛江制作网站多少钱
  • nas做网站服务器嘉兴专业自助建站免费咨询
  • 企业网站建设上机考试大连建设工程信息网档案下载
  • 东莞seo网站优化wordpress 爱情模板
  • 网站开发专业的WordPress博客Vieu主题
  • 阳东城乡规划建设局网站网站设计开发方案
  • 湖南省住房和城乡建设厅网站考试深圳专业做公司网站
  • 个人网站 免备案没有网怎么装wordpress
  • PHP做网站案例教程中国建设银行大学助学贷款网站
  • 梅县区住房和城市建设局网站做视频网站该把视频文件传到哪