太阳当空照-Windows服务化方式Winsw基本配置(上)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 太阳当空照-Windows服务化方式Winsw基本配置

依据官网,包含以下几个部分:

文件结构

service

文件根节点必须为<service></service>,该根节点下,包含对应的子节点内容配置

<service>
    <id></id>
    <description></description>
    <env name="" value=""/>
    <excutable></excutable>
    <arguments></arguments>
    <log mode="roll"></log>
</service>

环境变量

env

能够提取name中对应的系统环境变量值,设置到对应的本地内置value变量中,如果环境变量不存在,则本地变量将不会发生替换,当前自定义变量名称为Winsw.exe程序自动去生成,在当前同级节点中可以使用,也可以在服务启动的子进程中使用

.....
<env name="环境变量名称" value="%本地自定义变量名称%"/>
.....

示例:

.....
<env name="JAVA_HOME" value="%Base%"/>
<excutable>java %Base%/xxx.jar</excutable>
.....

相对路径和默认路径

workingdirectory

相对路径能够被工作路径覆盖,同时,默认情况下,默认路径是对应目标子程序加载的配置文件appname.xml的所在路径

.......
<workingdirectory>相对路径/绝对路径</workingdirectory>
.......

示例:

.......
<workingdirectory>E:\Study\Servers\winswtest</workingdirectory>
.......

配置实体节点

id

必须配置项,设定Windows内部用于识别改服务的id,作为唯一值,必须在系统服务中唯一,由字母和数字组成

......
<id></id>
......

executable

必须配置项,用于设定可执行文件或者需要执行的指令配置,路径和Winsw.exe可能不一致

......
<executable></executable>
......

name

服务显示名称的简写,可以添加其他的字符,名称不宜太长,如id一般是需要当前服务系统中保持唯一

......
<name></name>
......

description

服务具体描述,可以添加其他字符,当服务被选择时,能够在Windows服务管理中显示出来

.....
<description></description>
.....

startmode

设置服务的启动模式,包含常用包含如下值:

AutomaticManualDisabled

其他查阅[官方地址]https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/changestartmode-method-in-class-win32-service,默认为Automatic

....
<startmode>Automatic</startmode>
....

delayedAutoStart

如果服务启动方式为自启方式,设置是否延时启动服务程序

<delayedAutoStart>true</delayedAutoStart>

该配置对Windows 7以前老版本以及Windows Server 2008及其以前的系统版本无效,可能会因为该配置,造成服务无法安装

depend

当前注册服务依赖其他的服务时,需要设定对应的其他服务id配置

......
<depend>X</depend>
......

如果存在多个依赖,则配置多个依赖的相关服务id

.....
<depend>X</depend>
<depend>Y</depend>
.....

日志操作

logpath

用于设置日志的输出路径,默认情况为日志输出路径与配置文件.xml加载所在路径目录相同

.....
<logpath>path</logpath>
.....

Append mode (default)

附加模式,为默认服务执行模式,日志会以复加方式添加到对应日志文件内容中

.....
<log mode="append"/>
.....

Reset mode

重置模式,当前模式下,日志输出方式与append类似,当时在每次服务重启后,服务将截断当前旧日志,

.....
<log mode="reset"/>
.....

Ignore mode

该模式下,忽略掉运行输出和运行错误,不做任何日志记录

.....
<log mode="ignore"/>
.....

Roll mode

工作原理与附加模式类似,通过配置设置的单日志文件大小,超出限制后,自动对停止满足单文件限制的日志文件写入,在新的日志文件中写入日志信息,文件一次一滚动方式进行日志文件名称设定和自增,例如,一个日志文件第一个叫roll.1.log,当超过单文件设定大小后,会关闭roll.1.log,向新的roll.2.log日志中写入日志内容

.....
<log mode="roll-by-size">
  <sizeThreshold>102400</sizeThreshold>
    <keepFiles>8</keepFiles>
</log>
.....

其中sizeThreshold单文件大小阀值,以kb作为最小单位,keepFiles保留历史日志文件数目

Roll by time mode

运行原理类似Roll模式,但是不再是以单文件大小作为阀值,而是以时间段作为阀值,

.......
<log mode="roll-by-time">
  <pattern>yyyyMMdd</pattern>
</log>
.......

pattern作为正则方式控制,对应输出文件的日志文件名称



相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
存储 负载均衡 Java
如何配置Windows主机MPIO多路径访问存储系统
Windows主机多路径(MPIO)是一种技术,用于在客户端计算机上配置多个路径到存储设备,以提高数据访问的可靠性和性能。本文以Windows2012 R2版本为例介绍如何在客户端主机和存储系统配置多路径访问。
92 13
如何配置Windows主机MPIO多路径访问存储系统
|
1月前
|
Dart 搜索推荐 IDE
Windows下Zed编辑器配置Dart环境
本文介绍了Dart编程语言及其主要框架Flutter的优势,并推荐使用轻量级编辑器Zed进行Dart开发。详细步骤包括Dart环境的安装与配置,Zed编辑器的安装与个性化设置,以及如何在Zed中编写并运行Dart的HelloWorld程序。通过自定义任务实现Dart文件的快速运行,提高了开发效率。
|
1月前
|
监控 安全 网络安全
Windows Server管理:配置与管理技巧
Windows Server管理:配置与管理技巧
76 3
|
2月前
|
弹性计算 关系型数据库 数据安全/隐私保护
阿里云国际版如何配置Windows服务器的虚拟内存
阿里云国际版如何配置Windows服务器的虚拟内存
|
4月前
|
Shell Linux 开发工具
Windows Terminal——安装并配置主题
Windows Terminal——安装并配置主题
45 1
Windows Terminal——安装并配置主题
|
4月前
|
Java 应用服务中间件 开发工具
[App Service for Windows]通过 KUDU 查看 Tomcat 配置信息
[App Service for Windows]通过 KUDU 查看 Tomcat 配置信息
|
4月前
|
Java 应用服务中间件 Windows
【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
|
4月前
|
安全 机器人 程序员
Windows 计划任务每天隔 3 小时运行一次批处理文件详细配置步骤
Windows 计划任务每天隔 3 小时运行一次批处理文件详细配置步骤
509 2
|
4月前
|
Linux Go
Linux——windows10下的Ubuntu18.04安装并配置go环境
Linux——windows10下的Ubuntu18.04安装并配置go环境
58 1
|
4月前
|
并行计算 TensorFlow 算法框架/工具
Windows11+CUDA12.0+RTX4090如何配置安装Tensorflow2-GPU环境?
本文介绍了如何在Windows 11操作系统上,配合CUDA 12.0和RTX4090显卡,通过创建conda环境、安装特定版本的CUDA、cuDNN和TensorFlow 2.10来配置TensorFlow GPU环境,并提供了解决可能遇到的cudnn库文件找不到错误的具体步骤。
553 3