###############################################
############### 概述 ###############
###############################################
# 打包配置文件
# × 每行第一个非空字符为“#”则表示该行为注释
# × 配置参数使用 KEY = VALUE 格式
# × 配置参数为路径的,如果是相对路径则必须以“./”、“../”开始
# × 配置参数中如无特殊说明使用的相对路径均相对于DIR_WEBROOT的路径
# × 配置参数名称忽略大小写,即dir_webroot等价于DIR_WEBROOT
{% if !!PROJECT_ID %}
# 对应NEI平台项目ID
NEI_PROJECT_ID = {{PROJECT_ID}}
{% endif %}
###############################################
############### 路径配置 ###############
###############################################
# WEB根路径,必须配置,如果是相对路径则相对于当前配置文件路径(即.conf文件所在目录)
DIR_WEBROOT = {{DIR_WEBROOT}}
# 项目HTML文件根路径,默认为DIR_WEBROOT配置信息
#DIR_SOURCE = ./src/html/
# 输入HTML文件子目录配置,多个目录用逗号或者分号分隔,如果是相对路径相对于DIR_SOURCE配置
#DIR_SOURCE_SUB = ./a/,./b/,./c/
# 打包输出路径,默认为DIR_WEBROOT配置信息,配置路径支持变量替换,替换规则如下:
# [TIMESTAMP] - 插入时间戳目录,如配置 ./pub/[TIMESTAMP]/ 则输出的路径可能为 ./pub/1453792147197/
# [yyyy_MM_dd] - 插入日期格式化出来的字符串作为目录,其中yyyy代表四位年份,MM代表两位月份,dd代表两位日期,如配置 ./pub/[yyyy]/[MM]/[dd]/ 则输出的路径可能为 ./pub/2016/01/26/
#DIR_OUTPUT = ./pub/
# 静态文件输出目录,默认为DIR_OUTPUT配置信息
{{comment|default('')}}DIR_OUTPUT_STATIC = ./r/
# 项目服务器端模板文件根路径
# 服务器端模板文件确保页面所需的CSS、JS文件的引用均出现在模板文件中
{{comment|default('')}}DIR_SOURCE_TP = {{DIR_SOURCE_TP|default('../templates/')}}
# 输入服务器端模板文件子目录配置,多个目录用逗号或者分号分隔,如果是相对路径相对于DIR_SOURCE_TP配置
#DIR_SOURCE_TP_SUB = ./a/,./b/,./c/
# 项目服务器端模板输出路径,默认为DIR_SOURCE_TP配置信息
{{comment|default('')}}DIR_OUTPUT_TP = {{DIR_OUTPUT_TP|default('../tpl/')}}
# 静态资源路径,默认为WEB根路径下的res目录,
# 此目录下的资源在打包输出时会做以下调整
# × 页面中指向此目录下的路径会根据输出情况做相应调整
#DIR_STATIC = ./res/
# 需要合并到DIR_STATIC配置的目录下的静态资源路径,
# 发布后引用到此目录下的所有资源文件均将被拷贝到DIR_STATIC配置的目录下,
# 如果DIR_STATIC目录下已存在同名文件则 WARNNING 信息提示,同时覆盖原有文件
# - 正则表达式,忽略大小写
# - 确保可以通过new RegExp转换成正则
# - 资源路径通过此正则表达式替换可以得到输出到DIR_STATIC目录下的文件路径
#DIR_STATIC_MERGE = .*\/lib\/.*\/res\/
###############################################
############### 文件配置 ###############
###############################################
# 输入文件通过路径筛选规则
# - 正则表达式,忽略大小写
# - 确保可以通过new RegExp转换成正则
# - 规则用来检验要处理的文件路径,默认处理所有文件,忽略以“.”起始的目录和文件
#FILE_FILTER = \.(ftl|html)$
# 输入文件通过路径排除规则
# - 正则表达式,忽略大小写
# - 确保可以通过new RegExp转换成正则
# - 规则用来检验不要处理的文件路径,默认不排除文件
#FILE_EXCLUDE = \.(js|mcss|css)$
# 输入输出文件编码,默认为utf-8,注项目必须保证所有文件的编码一致,如css/js/ftl等文件的编码一致
#FILE_CHARSET = gbk
###############################################
############### 别名配置 ###############
###############################################
# 页面引入的脚本或者样式可以使用服务器端模板标记,如
#
# 别名匹配规则,可以通过new RegExp转换成正则表达式
#ALIAS_MATCH = \$\{(.*?)\}
# 别名配置列表,define.js 查询参数中不作为地址解析的参数在此处做一下配置提升优先级
{{comment|default('')}}ALIAS_DICTIONARY = {"csRoot":"/src/css/","jsRoot":"/src/javascript/","nejRoot":"/src/javascript/lib/nej/define.js"}
###############################################
############### NEJ配置 ###############
###############################################
# NEJ平台适配参数,等价于define.js?p=wk|td这里p的配置
# 优先级比p参数高,配置规则同p
#NEJ_PLATFORM = wk|td-1
# NEJ框架本地路径,没有配置情况下会尝试识别lib/nej目录
# 如果是规范的目录结构可以不用配置此参数,工具自动识别
# 工具自动识别的路径为: [DIR_WEBROOT]/src/javascript/lib/nej/或者[DIR_WEBROOT]/src/javascript/lib/nej/src/
#NEJ_DIR = http://fed.hz.netease.com/git/nej2/src/
# 重写 define.js 后的查询参数配置信息,
# 这里配置的所有的参数都会做地址补全,
# 如果参数不希望做地址补全则配置到 NEJ_PARAMETERS 参数中
#NEJ_CONFIG = pro=/src/javascript/&com=/src/lib/
# 重写 define.js 后的查询参数配置信息,这里配置的参数不做地址解析处理
#NEJ_PARAMETERS = {"mode":"wap"}
# 指定regular预解析执行文件路径
# 如果是规范的目录结构可以不用配置此参数,工具自动识别
# 工具自动识别的路径为: [DIR_WEBROOT]/src/javascript/lib/regularjs/dist/regular.js
#NEJ_REGULAR = ./src/javascript/lib/regular/regular.js
# 预处理器配置文件,默认内置以下预处理指令
# text 纯文本内容
# json JSON对象
# regular Regular模板预处理
#NEJ_PROCESSOR = ./proc.js
# 导出的依赖注入管理函数名称,默认为I$
#NEJ_INJECTOR = I$
# 模块根路径配置,模块调度方案中模块文件所在的根路径,默认自动解析
#NEJ_MODULE_ROOT = /pub/
# 模块文件的版本模式,支持配置的值如下所示
# 0 - 使用查询参数的版本【默认配置】,如 index.html?12343423432
# 1 - 使用路径版本,比如 index.html 的模块生成 index_13432233243.html 的打包文件
#NEJ_MODULE_VERSION = 0
###############################################
############### 合并策略 ###############
###############################################
# × 以下配置路径如果是相对路径则相对于当前配置文件路径
# × 如果没有配置core文件列表则一个文件在多个文件中出现就会合并到core文件中
# javascript core 文件列表配置文件,配置列表会自动做依赖分析
# × 如果指定路径则表示配置文件地址,如./core.js.json
# × 如果指定列表则表示文件列表,必须在一行内完成,如["util/ajax/xdr",...]
#CORE_LIST_JS = ./core.js.json
# css core 文件列表配置文件
# × 如果指定路径则表示配置文件地址,如./core.css.json
# × 如果指定列表则表示文件列表,必须在一行内完成,如["/src/css/reset.css",...]
#CORE_LIST_CS = ./core.css.json
# javascript core 屏蔽文件配置,注意:
# × 该列表不会做依赖分析
# × 该列表配置的所有文件都不应该被其他文件依赖
# 在javascript的core文件解析完后,删除以下列表中出现的文件
# × 如果指定路径则表示配置文件地址,如./mask.js.json
# × 如果指定列表则表示文件列表,必须在一行内完成,如["util/ajax/xdr",...]
#CORE_MASK_JS = ./mask.js.json
# css core 文件排除配置,注意:
# × 屏蔽文件不应该与载入的顺序有关
# 在css的core文件解析完后,删除以下列表中出现的文件
# × 如果指定路径则表示配置文件地址,如./mask.css.json
# × 如果指定列表则表示文件列表,必须在一行内完成,如["/src/css/reset.css",...]
#CORE_MASK_CS = ./mask.css.json
# core文件识别策略配置
# 0 - 自动处理
# 1 - 每个页面样式单独处理,不再根据合并策略生成core文件,打开此开关将忽略CORE_LIST_CS中的文件列表配置
# 2 - 每个页面脚本单独处理,不再根据合并策略生成core文件,打开此开关将忽略CORE_LIST_JS中的文件列表配置
# 3 - 每个页面样式和脚本均单独处理,不再根据合并策略生成core文件
{{comment|default('')}}CORE_MERGE_FLAG = 1
# 输出文件中不做解析的内容设置,默认根据页面标记处理,此优先级高于页面配置标记@NOPARSE
# 0 - 根据页面标记处理
# 1 - 不处理内联样式,如之间的内容
# 2 - 不处理内联脚本,如之间的内容
# 3 - 不处理内联样式和脚本,即1和2的情况都不处理
#CORE_NOPARSE_FLAG = 0
# 自动合并CORE文件时提取文件出现频率大于等于此配置值的文件,默认为2,此配置值必须大于等于2
# 比如此配置为3则表示当文件出现在3个以上页面中时会将此文件放入CORE文件
#CORE_FREQUENCY_JS = 2
# 自动合并CORE文件时提取文件出现频率大于等于此配置值的文件,默认为2,此配置值必须大于等于2
# 比如此配置为3则表示当文件出现在3个以上页面中时会将此文件放入CORE文件
#CORE_FREQUENCY_CS = 2
# core脚本解析时是否屏蔽所有入口文件(即直接在页面以script标签形式引入的脚本)
# 默认入口文件参与core文件合并解析,当多个页面同时引用同一个入口文件时可以设置此参数为true
#CORE_IGNORE_ENTRY = true
###############################################
############### 混淆压缩 ###############
###############################################
# 脚本混淆等级
# 0 - 只混淆所有局部变量【默认配置】
# 1 - 在0的基础上增加单个下划线(_)前缀的变量,如_xxx
# 2 - 在1的基础上增加两个下划线(__)前缀的变量,如_xxx、__xxx
# 3 - 在0的基础上增加所有下滑线前缀的变量,如_xxx、__xxx、_$xxx、_$$xxx
#OBF_LEVEL = 3
# 脚本混淆变量名称对照表文件路径,如果是相对路径则相对于当前配置文件路径
#OBF_NAME_BAGS = ./names.json
# 是否采用兼容模式输出结果,默认为true
# 非兼容模式下只能使用依赖注入的形式获取依赖文件输出的对象
# 兼容模式下支持非兼容模式外还支持使用名字空间作为依赖对象获取方式
#OBF_COMPATIBLE = true
# 是否扔弃console相关代码
#OBF_DROP_CONSOLE = true
# 预置全局变量值,脚本输出时代码中的这些变量直接使用此配置的值替换
#OBF_GLOBAL_VAR = {"ONLINE":true,"OTHER_VALUE":123}
# 是否导出Source Map配置,
# 默认情况或者未配置的情况下不输出Source Map信息
#OBF_SOURCE_MAP = false
# 内联样式内容的最大长度(单位K),默认为50K,如超出该长度则将样式做为外联文件导入
#OBF_MAX_CS_INLINE_SIZE = 0
# 内联脚本内容的最大长度(单位K),默认为0K,即使用外联文件导入
#OBF_MAX_JS_INLINE_SIZE = 0
# CORE文件内联规则配置
# 0 - 自动处理,根据页面SCRIPT标记配置的inline参数决定,默认外联
# 1 - 所有页面的样式CORE文件内联
# 2 - 所有页面的脚本CORE文件内联
# 3 - 所有页面的样式和脚本CORE文件内联
#OBF_CORE_INLINE_FLAG = 0
###############################################
############### 版本配置 ###############
###############################################
# 静态资源是否自动带版本号
# 静态资源即DIR_STATIC配置的目录下的所有资源文件的引入均自动带上版本信息
# 忽略自带版本的静态资源路径,如url(/path/to/a.png?v=1234)
#VERSION_STATIC = true
# 静态资源版本号生成规则,默认自动模式
# 0 - 自动模式,根据文件内容生成,版本号通过地址的查询串携带,如/a.png?9e107d9d372bb6826bd81d3542a419d6
# 1 - 随机模式,每次生成随机版本信息,不重复,版本号通过地址的查询串携带,如/a.png?123456
# * - 固定模式,配置字符串作为文件名后缀,地址的查询串中不再携带版本信息,
# 如配置为v1,则生成的文件文件名后追加此配置值,生成文件名如a_v1.png
# 配置中可以使用以下变量来表示内建值,如果出现以下变量,则不再追加原文件名
# [RAND] - 替代随机版本号,如[FILENAME]_[RAND]则生成文件a_9865734934.png
# [VERSION] - 替代文件的MD5值,如v2_[VERSION]则生成文件为v2_9e107d9d372bb6826bd81d3542a419d6.png
# [FILENAME] - 替代文件名,系统自动生成的唯一文件名标识,如[FILENAME]_v2则生成文件a_v2.png
#VERSION_STATIC_MODE = 0
# 版本号生成规则,默认自动模式
# 0 - 自动模式,根据文件内容生成,版本号通过地址的查询串携带,如/a.js?9e107d9d372bb6826bd81d3542a419d6
# 1 - 随机模式,每次生成随机版本信息,不重复,版本号通过地址的查询串携带,如/a.js?123456
# * - 固定模式,配置字符串作为文件名后缀,地址的查询串中不再携带版本信息,
# 如配置为v1,则生成的文件文件名后追加此配置值,生成文件名如a_v1.js
# 配置中可以使用以下变量来表示内建值,如果出现以下变量,则不再追加原文件名
# [RAND] - 替代随机版本号,如[FILENAME]_[RAND]则生成文件a_9865734934.js
# [VERSION] - 替代文件的MD5值,如v2_[VERSION]则生成文件为v2_9e107d9d372bb6826bd81d3542a419d6.js
# [FILENAME] - 替代文件名,系统自动生成的唯一文件名标识,如[FILENAME]_v2则生成文件a_v2.js
#VERSION_MODE = 0
###############################################
############### CDN配置 ###############
###############################################
# 静态资源域名配置
# × 多个域名随机的方式,用逗号分隔各个域名
# × 如果没有配置,则项目的静态资源中相对路径的请求相对于页面路径
# × 如果配置了"/",则项目的静态资源中相对路径的请求相对于WEBROOT的路径
# × 如果配置了域名,则项目的静态资源中相对路径的请求使用当前域名的绝对路径
# 默认静态资源请求域名,限定DIR_STATIC配置路径下资源、JS资源、CSS资源访问域
#DM_STATIC = /
# 静态资源域名,默认使用DM_STATIC配置信息
#DM_STATIC_RS = b4.bst.126.net,b5.bst.126.net
# 外联样式请求域名,没有配置则使用DM_STATIC配置信息
#DM_STATIC_CS = b1.bst.126.net
# 外联脚本请求域名,没有配置则使用DM_STATIC配置信息
#DM_STATIC_JS = b2.bst.126.net
###############################################
############### 图片优化 ###############
###############################################
# 图片优化开关,打开此开关则DIR_STATIC下的图片会做优化压缩,替换原文件
#OPT_IMAGE_FLAG = true
# 图片输出质量 1-100
#OPT_IMAGE_QUALITY = 100
# 内嵌的静态资源文件使用BASE64地址的大小配置,单位为 K
# 当静态资源文件大小小于这里配置的值的时候采用BASE64内联到宿主文件中
# 默认为 0,即不使用BASE64地址,如果配置 100 ,则表示小于100K的静态资源均使用BASE64路径
#OPT_IMAGE_BASE64 = 100
# 图片做精灵图合并的路径,即项目的样式中使用到该路径下的图片资源会先做合并再使用
# 相对路径相对于DIR_STATIC配置的路径
# 如果没有配置此参数则不会做精灵图合并
#OPT_IMAGE_SPRITE = ./sprite/
# 图片合并相关参数,JSON字符串,可配置参数如下所示,支持的参数
# - layout 图片布局方式,默认 binary-tree,可选布局方式 top-down,left-right,diagonal,alt-diagonal,binary-tree,具体算法效果见 https://github.com/twolfson/layout
# - margin 图片之间的间隙,默认为 4px
# - prefix 输出精灵图文件名前缀,默认为空,不带前缀
#OPT_IMAGE_SPRITE_OPTIONS = {"layout":"left-right","margin":4,"sprite":"spt_"}
###############################################
############### 离线配置 ###############
###############################################
# HTML5离线应用配置文件
# 页面请求Manifest文件路径配置
#MANIFEST_ROOT = /
# 输出配置文件
#MANIFEST_OUTPUT = ./cache.manifest
# 配置文件模板,纯文本文件,不配置使用默认模板,
# 如果是相对路径则相对于当前配置文件路径(即.conf文件所在目录),
# 模板中使用的变量格式为 #,其中VAR_NAME为变量名,
# 可用变量名如下:
# VERSION - 版本信息
# CACHE_LIST - 缓存资源列表,换行符分隔
#MANIFEST_TEMPLATE = ./cache.manifest.tpl
# 输出CACHE_LIST列表过滤器,符合以下条件的文件从列表中过滤掉,不做输出
#MANIFEST_FILTER = \.html$
###############################################
############### 模板封装 ###############
###############################################
# 资源模板封装策略配置
# 内联资源防止服务器模板规则干扰使用的封装标签,%s表示内联的代码,以下情况下使用该标记包装插入内容
# - 使用@MODULE标记的内容,其中%s为要插入的MODULE内容
# - 内敛脚本插入时使用此标签包起来,%s表示页面要插入的脚本
#WRP_INLINE_SOURCE = <#noparse>%s#noparse>
# 包装脚本源码,所有输出脚本均用此结构包装,除非你知道自己在做什么,否则不要修改此配置
#WRP_SCRIPT_SOURCE = %s
# 内联样式模板输出规则,%s表示内联的样式代码
#WRP_INLINE_CS =
# 外联样式模板输出规则,%s表示外联的样式路径,带版本信息
#WRP_EXLINE_CS =
# 内联脚本模板输出规则,%s表示内联的脚本代码
#WRP_INLINE_JS =
# 外联脚本模板输出规则,%s表示外联的脚本路径,带版本信息
#WRP_EXLINE_JS =
# 其他内联模板输出规则,%s依次表示模板ID、模板类型、模板内容
#WRP_INLINE_TP =
# 内联样式包装规则,%s表示内联的样式内容
#WRP_INLINE_STYLE =
# 外联样式包装规则,%s表示外联样式文件路径
#WRP_EXLINE_STYLE =
# 内联脚本包装规则,%s表示内联的脚本内容
#WRP_INLINE_SCRIPT =
# 外联脚本包装规则,%s表示外联脚本文件路径
#WRP_EXLINE_SCRIPT =
###############################################
############### 压缩配置 ###############
###############################################
# 输出文件压缩配置,
# 0 - 根据页面标记处理,除带@NOCOMPRESS标记的内容,其余内容均去除行首尾空格
# 1 - 所有页面不压缩,保留原有的首尾空格,此优先级高于页面标记@NOCOMPRESS
# 2 - 所有页面压缩成一行,去除每行首尾空格和回车换行符,忽略页面@NOCOMPRESS标记
#CPRS_FLAG = 0
# 是否保留HTML代码中的注释,默认删除所有页面结构中的注释
#CPRS_KEEP_COMMENT = true
###############################################
############### WebCache Server配置 #######
###############################################
# 移动 APP WebCache 配置信息
# WebCache Server 接收文件地址
# 配置此路径表示打开 WebCache 功能
#WCS_UPLOAD_URL = http://a.b.com/upload
# WCS_UPLOAD_URL 配置的上传接口调用验证信息配置
# 此参数如果不在此处配置,也可以通过 nej cache 指令的命令行参数输入
# 建议通过 nej cache 指令输入此参数信息
#WCS_UPLOAD_TOKEN = ASDFASGEWERASFASDF
# 产品在 WebCache Server 上的标识信息
# 此参数如果不在此处配置,也可以通过 nej cache 指令的命令行参数输入
# 建议通过 nej cache 指令输入此参数信息
#WCS_APP_ID = 2300000
# 该产品下的具体应用标识
# 此参数如果不在此处配置,也可以通过 nej cache 指令的命令行参数输入
# 建议通过 nej cache 指令输入此参数信息
#WCS_NATIVE_ID = 343465354
# 需要通过 WebCache Server 缓存的文件路径包含规则
# 如果同时满足包含和排除规则,则优先使用排除规则排除文件
# - 正则表达式,忽略大小写
# - 确保可以通过new RegExp转换成正则
# - 规则用来检验要缓存的文件路径
# - 默认情况下 DIR_OUTPUT_STATIC 和 DIR_STATIC 配置目录下的所有文件进行缓存
#WCS_FILE_INCLUDE = \.(js|css|html)$
# 不需要通过 WebCache Server 缓存的文件路径排除规则,
# 如果同时满足包含和排除规则,则优先使用排除规则排除文件
# - 正则表达式,忽略大小写
# - 确保可以通过new RegExp转换成正则
# - 规则用来检验不要缓存的文件路径,默认不排除文件
#WCS_FILE_EXCLUDE = \/res\/.*$
# Web Cache 配置文件输出路径和文件名配置
# 默认在配置文件所在目录下生成 cache.json 输出
# 如果是相对路径则相对于当前配置文件路径(即.conf文件所在目录)
#WCS_CONFIG_FILE = ./cache.json
# Web Cache 资源包上传时其他扩展字段配置,JSON字符串,已支持参数
# version - 协议版本,默认为 0.1
# platform - 资源包支持平台,多个平台用“&”分隔,默认 ios&android
# diffCount - 本资源包上传之后,服务端与历史版本做diff的个数,最小0,最大10,默认0。如果个数超过服务端所拥有历史资源包个数,则使用实际历史资源包个数。如果不需要增量更新,则不需要传该字段
# resVersion - 资源包版本号,如果上传没有带该字段,服务器会为资源包自动生成一个版本号,如果上传时带了该字段,则使用该字段的值
#WCS_CONFIG_EXTENSION = {"version":"0.2"}
###############################################
############### 数据采集配置 ###############
###############################################
# 数据采集服务器提供的接收打包数据的接口,支持将项目依赖关系图、静态资源版本信息等提交
# 接口提供 POST 方式,JSON 格式的数据提交,数据格式如:{"dependencies":{},"versions":{}}
# 支持采集的数据包括:
# dependencies:Object - 项目中所有资源的依赖关系信息
# versions:Object - 项目中所有静态资源的版本信息
# timestamp:Number - 数据采集时间戳
#DATA_LOG_API = http://59.111.103.99/log?token=ykt_web
###############################################
############### 扩展配置 ###############
###############################################
# 发布后使用绝对路径调整外链地址,主要处理页面中同时符合以下条件的外链地址
# - 地址指向的内容为DIR_SOURCE配置下的内容
# - html中使用src="[LINK]"或者href="[LINK]"形式引入的地址
# 注:DIR_SOURCE_TP配置目录下的文件解析时自动打开此开关调整指向DIR_SOURCE下的src和href
#X_AUTO_EXLINK_PATH = true
# 如果X_AUTO_EXLINK_PATH配置为true则可以通过此配置增加前缀标识来强行替换带该标识的路径,
# 带标识路径规则为[X_AUTO_EXLINK_PREFIX]="[LINK]",多个前缀标识用|分隔,
# 注:存在单页面多模块调度的系统这里切勿配置data-src
#X_AUTO_EXLINK_PREFIX = data-href|data-html-root
# 发布后使用绝对路径调整脚本文件中的静态资源地址,符合以下条件的地址
# - 配置DM_STATIC或者DM_STATIC_RS中的任意一项
# - 字符串中相对于DIR_STATIC的静态资源
#X_AUTO_EXLINK_SCRIPT = true
# 在打开 X_AUTO_EXLINK_SCRIPT 开关之后,可以使用以下配置参数做扩展信息的配置,已支持配置信息如下
# checkDIR - 是否处理符合条件的目录,默认为 false
#X_AUTO_EXLINK_SCRIPT_EXTENSION = {"checkDIR":true}
# 发布模式,可以使用以下三种模式,主要用于控制IGNORE标记的处理,
# IGNORE标记配置的模式匹配到这里配置的模式则相应的代码在打包时会被过滤掉
# test 测试模式
# online 线上模式,默认模式
# develop 开发模式
#X_RELEASE_MODE = online
# 日志模式,可用值
# DEBUG - 输出DEBUG/INFO/WARN/ERROR级别的日志
# INFO - 输出INFO/WARN/ERROR级别的日志
# WARN - 输出WARN/ERROR级别的日志
# ERROR - 输出ERROR级别的日志
# ALL - 输出所有日志
# OFF - 关闭日志输出
#X_LOGGER_LEVEL = ALL