浙江建设职业技术学院招生网站重庆装修公司口碑排名

web/2025/9/26 18:59:55/文章来源:
浙江建设职业技术学院招生网站,重庆装修公司口碑排名,牛商网上市了吗,网站打不开别人能打开在博客文章JAXB和Log4j XML配置文件中 #xff0c;我讨论了“与使用JAXB通过Java类处理[Log4j 1.x和Log4j 2.x] XML配置文件相关的细微差别。” 在本文中#xff0c;我将探讨另一个与通过Log4j 2.x XML Schema文件Log4j-config.xsd生成的JAXB对象生成Log4j 2.x配置XML相关的挑… 在博客文章JAXB和Log4j XML配置文件中 我讨论了“与使用JAXB通过Java类处理[Log4j 1.x和Log4j 2.x] XML配置文件相关的细微差别。” 在本文中我将探讨另一个与通过Log4j 2.x XML Schema文件Log4j-config.xsd生成的JAXB对象生成Log4j 2.x配置XML相关的挑战它没有完全指定Log4j 2.x组件的配置特点。 使用Log4j 2.x XML配置时 首先要做出的重要区别之一是要使用XML的“ 风味 ”“简洁”或“严格”。 简洁的格式可能更容易因为XML元素的名称对应于它们表示的Log4j 2组件但是XSD仅支持严格格式。 这意味着从Log4j 2.x XSD生成的JAXB对象中编组的任何XML都必须具有“严格”格式而不是“简洁”格式。 不幸的是当前与Log4j 2.x发行版一起提供的XSD Log4j-config.xsd 不足以生成Log4j 2支持的完整“严格” XML配置。我在这里通过讨论XSD定义的复杂类型来演示这一点。 “ AppenderType ”因为它是受支持元素在XSD中缺少其潜在属性规范的最极端情况之一。 从Log4j 2.6.2开始下面的代码清单显示了Log4j-config.xsd中AppenderType的定义。 在Log4j 2.6.2的Log4j-config.xsd定义的AppenderType xs:complexType nameAppenderTypexs:sequencexs:element nameLayout typeLayoutType minOccurs0/xs:choice minOccurs0 maxOccurs1xs:element nameFilters typeFiltersType/xs:element nameFilter typeFilterType//xs:choice/xs:sequencexs:attribute nametype typexs:string userequired/xs:attribute namename typexs:string userequired/xs:attribute namefileName typexs:string useoptional/ /xs:complexType 刚刚显示的XSD的摘录告诉我们以XSD兼容的XML描述的附加器将只能具有三个属性 type name和fileName 中的一个或多个。 “ type ”属性用于标识其附加器的类型例如“ File ”“ RollingFile ”“ Console ”“ Socket ”和“ Syslog ”。 问题在于每个追加程序的“类型”都有不同的属性和特性理想情况下可以通过此AppenderType上的属性来描述。 有关Appender的Log4j 2.x文档列出了不同类型的附加程序的特征。 例如此页面指示ConsoleAppender具有七个参数 filter layout follow direct name ignoreExceptions和target 。 该name是由一般所支持的属性之一AppenderType复杂类型和filter和layout通过在嵌套的元件支撑AppenderType 。 但是可用于ConsoleAppender的其他四个参数在XSD中没有规定定义它们的机制。 甚至不考虑自定义Log4j 2.x附加程序 内置的Log4j 2.x附加程序不会共享相同的属性和特征并且大多数属性具有比AppenderType指定的三个属性和两个嵌套元素更多的特征。 我讨论的七个参数的控制台追加程序以前和其他例子包括RollingFileAppender进行其12个参数 append bufferedIO bufferSize filter fileName filePattern immediateFlush layout name policy strategy ignoreExceptions 的JDBCAppender与七个参数 name ignoreExceptions filter bufferSize connectionSource tableName columnConfigs 和JMSAppender及其十三个参数 factoryBindingName factoryName filter layout name password providerURL destinationBindingName securityPrincipalName securityCredentials ignoreExceptions urlPkgPrefixes userName 。 为了描述XSD中给定的附加器类型可用的每个参数都需要XML Schema具备以下能力编写一组特定的可用属性取决于AppenderType的type属性的设置。 不幸的是XML Schema不容易支持这种条件规范在该条件规范中给定复杂类型的可用属性基于复杂类型的其他属性之一而不同。 由于模式语言的局限性想要使用JAXB生成对所有提供的附加程序均具有完全支持的对象的人将需要更改XSD。 一种方法是更改​​XSD以使AppenderType具有任何内置附加程序的所有可能属性这些附加属性可用作元素的可选属性。 最明显的缺点是即使该属性不适用于特定的附加程序类型XSD也会允许任何附加程序类型具有任何属性。 但是这种方法将允许JAXB生成的对象将给定附加类型的所有XML属性编组起来。 下一个代码段说明了如何开始。 此处指定了一些不同的追加器所需的其他属性但是即使更长的列表也不包含支持所有可能的内置追加器类型的属性所需的所有可能的追加器属性。 一些添加到AppenderType Appender属性 xs:complexType nameAppenderTypexs:sequencexs:element nameLayout typeLayoutType minOccurs0/xs:choice minOccurs0 maxOccurs1xs:element nameFilters typeFiltersType/xs:element nameFilter typeFilterType//xs:choice/xs:sequencexs:attribute nametype typexs:string userequired/xs:attribute namename typexs:string userequired/xs:attribute namefileName typexs:string useoptional/!-- Attributes specified below here are not in Log4j 2.x Log4j-config.xsd --xs:attribute nametarget typexs:string useoptional/xs:attribute namefollow typexs:string useoptional/xs:attribute nameappend typexs:string useoptional/xs:attribute namefilePattern typexs:string useoptional/xs:attribute namehost typexs:string useoptional/xs:attribute nameport typexs:string useoptional/xs:attribute nameprotocol typexs:string useoptional/xs:attribute nameconnectTimeoutMillis typexs:integer useoptional/xs:attribute namereconnectionDelayMillis typexs:string useoptional/xs:attribute namefacility typexs:string useoptional/xs:attribute nameid typexs:string useoptional/xs:attribute nameenterpriseNumber typexs:integer useoptional/xs:attribute nameuseMdc typexs:boolean useoptional/xs:attribute namemdcId typexs:string useoptional/xs:attribute namemdcPrefix typexs:string useoptional/xs:attribute nameeventPrefix typexs:string useoptional/xs:attribute namenewLine typexs:boolean useoptional/xs:attribute namenewLineEscape typexs:string useoptional/ /xs:complexType 更改Log4j 2.x XSD以完全支持所有内置附加程序的第二种方法是将XSD设计从具有由type属性指定的特定类型的单个AppenderType更改为具有许多不同的复杂类型每个复杂类型分别表示不同的XSD设计。内置的附加器类型。 使用这种方法XSD可以强制执行任何给定附加程序的所有属性并且仅与该给定附加程序相关联的属性。 每个追加程序都具有元素类型的这种方法类似于“简洁” XML格式的工作方式但是当前没有XSD支持。 请注意我在这里有意专注于内置的附加器类型因为可以期望静态XSD能够合理充分且完全地支持它。 另外可以通过为属性指定任意的名称/值对来支持此操作就像对过滤器或参数进行的操作一样 但是这还导致能够指定多余的甚至是无用的属性而架构没有任何能力来捕获这些属性。 支持自定义类型的第三种方法是不使用静态XSD描述语法而是使用生成的XSD。 可以根据文档中Log4j 2.x组件的描述来手写这样的XSD但是更好的方法可能是利用Log4j 2.x中使用的PluginFactory PluginElement和PluginAttribute注释。源代码。 接下来的两个代码清单来自Apache Log4j 2.6.2代码库并演示了这些注释如何描述给定类型的元素和属性。 ConsoleAppender.createAppender签名 PluginFactory public static ConsoleAppender createAppender(PluginElement(Layout) Layout layout,PluginElement(Filter) final Filter filter,PluginAttribute(value target, defaultString SYSTEM_OUT) final String targetStr,PluginAttribute(name) final String name,PluginAttribute(value follow, defaultBoolean false) final String follow,PluginAttribute(value ignoreExceptions, defaultBoolean true) final String ignore) SysLogAppender.createAppender签名 PluginFactory public static SyslogAppender createAppender(// formatter:offPluginAttribute(host) final String host,PluginAttribute(value port, defaultInt 0) final int port,PluginAttribute(protocol) final String protocolStr,PluginElement(SSL) final SslConfiguration sslConfig,PluginAttribute(value connectTimeoutMillis, defaultInt 0) final int connectTimeoutMillis,PluginAliases(reconnectionDelay) // deprecatedPluginAttribute(value reconnectionDelayMillis, defaultInt 0) final int reconnectionDelayMillis,PluginAttribute(value immediateFail, defaultBoolean true) final boolean immediateFail,PluginAttribute(name) final String name,PluginAttribute(value immediateFlush, defaultBoolean true) final boolean immediateFlush,PluginAttribute(value ignoreExceptions, defaultBoolean true) final boolean ignoreExceptions,PluginAttribute(value facility, defaultString LOCAL0) final Facility facility,PluginAttribute(id) final String id,PluginAttribute(value enterpriseNumber, defaultInt Rfc5424Layout.DEFAULT_ENTERPRISE_NUMBER) final int enterpriseNumber,PluginAttribute(value includeMdc, defaultBoolean true) final boolean includeMdc,PluginAttribute(mdcId) final String mdcId,PluginAttribute(mdcPrefix) final String mdcPrefix,PluginAttribute(eventPrefix) final String eventPrefix,PluginAttribute(value newLine, defaultBoolean false) final boolean newLine,PluginAttribute(newLineEscape) final String escapeNL,PluginAttribute(appName) final String appName,PluginAttribute(messageId) final String msgId,PluginAttribute(mdcExcludes) final String excludes,PluginAttribute(mdcIncludes) final String includes,PluginAttribute(mdcRequired) final String required,PluginAttribute(format) final String format,PluginElement(Filter) final Filter filter,PluginConfiguration final Configuration config,PluginAttribute(value charset, defaultString UTF-8) final Charset charsetName,PluginAttribute(exceptionPattern) final String exceptionPattern,PluginElement(LoggerFields) final LoggerFields[] loggerFields, PluginAttribute(value advertise, defaultBoolean false) final boolean advertise) 这种方法需要几个步骤因为一个人需要使用Log4j 2.x体系结构的主要组成部分的知识以及注释处理来动态生成XSD然后使用JAXB生成能够封送综合Log4j 2.x的Java类。 XML。 要考虑的另一种选择是使用“简洁的” XML或另一种形式的Log4j 2.x配置 例如JSON或属性文件 而不使用XSD生成用于编组Log4j 2.x配置的JAXB对象。 值得注意的是用于Log4j 2.x且具有“ strict”格式的XML配置文件显然不需要针对Log4j-config.xsd进行验证否则XML的“ strict”形式将无法完全指定Log4j2组态。 这意味着即使拥有XSD剩下的价值还是供我们自己的工具或脚本使用以便在与Log4j 2.x结合使用之前先使用它来验证我们的XML配置或者用于编组/解编Log4j2.x。带有JAXB的XML。 结论 Log4j2发行版随附的Log4j-config.xsd不足以验证“严格” XML配置中的所有Log4j 2.x构造同样不足以生成用于封送Log4j2严格XML的JAXB对象。 希望使用XSD进行验证或JAXB类生成的开发人员将需要手动更改XSD或从Log4j2源代码生成XSD。 这些参考文献已在上面的文章中链接到内联但此处出于强调目的而列出。 在Log4j2中如何将XML模式与log4j2.xml关联 [LOG4J2-170] Log4J-V2.0.xsd发生架构验证失败 [LOG4J2-411] 对链接到配置文件的XSD / DTD的支持 logging- log4j- 用户邮件列表 “ Log4j2 Appender属性具有严格的xml配置 ” 从注释生成XSD 翻译自: https://www.javacodegeeks.com/2016/08/log4j-2-x-xsd-not-fully-descriptive.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82335.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电商学习网站洛阳市做网站的

CORS 全称是跨域资源共享(Cross-Origin Resource Sharing),是一种 AJAX 跨域请求资源的方式,支持现代浏览器,IE支持10以上。 CORS与JSONP的使用目的相同,但是比JSONP更强大。JSONP只支持GET请求&#xff0c…

电子相册在线制作网站萍乡专业的企业网站建设公司

C语言一维数组的定义一般形式类型符 数组名[常量表达式]C语言使用一维数组注意事项数组名的命名规则和变量名相同,遵循标识符命名规则。在定义数组时,需要指定数组中元素的个数,方括号中的常量表达式用来表示元素的个数,即数组长度…

办公内网网站建设标准医院网站云服务器配置

展开全部1、问62616964757a686964616fe4b893e5b19e31333433633530题主要是类型的问题。因为a 是int型的,在计算的时候不转型成浮点型是不对的(1/a0)因此要写成:pipi1.0/(2*a-1);pipi-1.0/(2*a-1);还有判断条件:while ((1.0/a)>1e-4);另外&…

建设电子商务网站考核试卷网站建设可以学吗

k8s 实战 常见异常事件 event 及解决方案分享 集群相关 Coredns容器或local-dns容器 重启集群中的coredns组件发生重启(重新创建),一般是由于coredns组件压力较大导致oom,请检查业务是否异常,是否存在应用容器无法解析域名的异常。如果是l…

网站后台统计怎么启动啊qq网页版登陆

文章目录 前言一、ZC序列是什么?二、创建自定义的 C OOT 块1、创建 OOT 模块2、创建 OOT 块3、修改 C 文件4、编译及安装 OOT 块 三、测试1、grc 图2、运行结果①、时域图②、时域幅值模图③、IQ 曲线 四、其他五、资源自取 前言 本文实现在 GNU Radio 中创建 Zado…

电子技术支持 东莞网站建设专业的企业智能建站价格便宜

目录 传统下网络服务模型 事件监听模型 NIO核心概念 单线程Reactor模式 多线程Reactor模式 Kafka 的网络设计 主要概念 类比思维理解 参考文章 传统下网络服务模型 线程太多无法处理大规模请求 事件监听模型 NIO核心概念 nio是实现reactor模式的底层API代码 单…

番禺网站设计公司花蝴蝶免费视频直播高清版

分享一下在Django中使用uploadify——一个jQuery批量上传插件——的方法。github上的django-uploadify使用的是2.1.4版本,上传button只能使用图片,不能很方便的修改样式。本文针对的是uploadify 3.0.0版本。uploadify可以结合Django自身的ImageField&…

搭建网站挣钱网站空间选linux

java学习里程碑miles2run.org是跟踪跑步活动并与亲朋好友共享的简便方法。 可以创建然后跟踪基于天或基于距离的目标。 它还允许创建社区运行目标,并使多个跑步者参与并跟踪他们朝着该目标的活动。 您还可以找出本地跑步者并与他们联系。 该项目已开始,…

我的网站百度搜不到唯品会网站推广策略

作者持续关注WPS二次开发专题系列,持续为大家带来更多有价值的WPS开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(WPS二次开发QQ群:250325397),摸鱼吹牛嗨起来&#xff01…

免费特效素材网站引流推广网站平台

管理员账户 在控制面板的用户账户中,点击更改账户类型,可以看到目前的账户是“管理员账户”还是“标准账户”。 管理员身份 在快捷方式上右击,可以看到,可以选择以管理员身份运行该软件。 如何查看某个应用是否以管理员身份…

个体工商户网站备案重庆简易注销在什么网站做

JWT 单点登录探析:原理、用途与安全实践 什么是 JWT? JWT (JSON Web Token) 是目前最流行的跨域认证解决方案,是一种基于 Token 的认证授权机制。 从 JWT 的全称可以看出,JWT 本身也是 Token&#xff0c…

哪个网站做logo好硬件开发文档模板

C语言中文本文件与二进制文件的区别 一、文本文件与二进制文件的定义 大家都知道计算机的存储在物理上是二进制的,所以文本文件与二进制文件的区别并不是物理上的,而是逻辑上的。这两者只是在编码层次上有差异。 简单来说,文本文件是基于字符…

郑州招聘网站有哪些wordpress 内存溢出

使用spawn创建一个新进程,其第一个参数是模块名、第二个参数是函数名、第三个参数是参数列表。spawn会返回一个进程标识符,通常叫做PID。 defmodule Spawn1 dodef greet doreceive do{sender, msg} ->send sender, { :ok, "Hello #{msg}" }…

佛山专业网站营销seo是指什么职位

现在很多手机都配备指纹解锁功能,大家平时用惯了指纹解锁,有时候在需要输入锁屏密码的时候反倒记不清密码是什么了。像是手机重启后就需要输入密码解锁,iPhone锁屏密码忘了怎么办?多次输入错误密码还可能导致手机被停用&#xff0…

小学网站asp火车头采集器 wordpress论坛发布

文章目录 Selenium Java环境搭建配置系统环境变量PATH验证环境是否搭建成功常见问题&解决办法 Selenium Java环境搭建 Java版本最低要求为8,这里默认大家都下载好了Java。😆 下载chrome浏览器(点我下载) 观察chrome版本。…

wordpress 网站地图类深圳招聘网站大全

给初学者之一:浅谈java及应用 学java不知不觉也已经三年了 从不知java为何物到现在一个小小的j2ee项目经理 虽说不上此道高手,大概也算有点斤两了吧 每次上网,泡bbs逛论坛,没少去java相关的版面 总体感觉初学者多&#xff0c…

南京网站开发xuan南京乐识公司建站有哪些优势

Coding源码学习第四部分(Masonry介绍与使用(三))接上篇继续进行Masonry 的学习. (12)tableViewCell 布局 #import "TableViewController.h" #import "Tes ...python 线性回归示例说明:此文的第一部分参考了这里 用python进…

陕西网站建设公司排名网站建设 开发 模板

1、个人网盘场景说明 个人网盘架构 使用ECS安装Cloudreve提供网盘服务,OSS提供存储服务。当用户使用个人网盘时,访问部署Cloudreve ECS的公网IP地址即可完成文件上传、下载、删除、分享等服务。 什么是Cloudreve Cloudreve可帮助您即刻构建出兼备自用…

备案添加网站请概述网站建设的一般步骤

频率分辨率是描述频谱分析能力的一个重要指标。它指的是频谱分析仪在频率轴上的最小可区分的频率间隔。 更具体地说: 频率分辨率描述了频谱分析中能够分辨出的最小频率差。例如,如果频率分辨率为1 Hz,就意味着该分析仪能够将相隔1 Hz的两个频率成分区分开来。 频率分辨率受到…

搭建网站详细步骤中智软件开发有限公司

Linux系统的简介与安装 Linux简介 计算机是由硬件和软件所组成 硬件:计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称软件:是用户和计算机硬件之间的接口和桥梁,用户通过软件与计算机进行交流(操作系统) 操作系统作为用户和…