logger 部署到linux 使用 没有生成日志

该配置文件展示了如何在Linux服务器上设定日志存储路径,确保日志被正确记录到/${log.path}

1 发现部署到服务器后 日志没有存储到指定路径 修改 ${log.path} 为Linux绝对路径即可

windows下默认为c盘 创建对应的目录给予权限即可

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
    <!-- 日志存放路径 -->
	<property name="log.path" value="/www/wwwroot/kalun/ryjar/app" />
   <!-- 日志输出格式 -->
	<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />

    <!-- 控制台输出 -->
	<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
		<encoder>
			<pattern>${log.pattern}</pattern>
		</encoder>
	</appender>

    <!-- 系统日志输出 -->
	<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
	    <file>${log.path}/info.log</file>
        <!-- 循环政策:基于时间创建日志文件 -->
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 日志文件名格式 -->
			<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
			<!-- 日志最大的历史 60天 -->
			<maxHistory>60</maxHistory>
		</rollingPolicy>
		<encoder>
			<pattern>${log.pattern}</pattern>
		</encoder>
		<filter class="ch.qos.logback.classic.filter.LevelFilter">
            <!-- 过滤的级别 -->
            <level>warn</level>
            <!-- 匹配时的操作:接收(记录) -->
            <onMatch>ACCEPT</onMatch>
            <!-- 不匹配时的操作:拒绝(不记录) -->
            <onMismatch>DENY</onMismatch>
        </filter>
	</appender>

    <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
	    <file>${log.path}/error.log</file>
        <!-- 循环政策:基于时间创建日志文件 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 日志文件名格式 -->
            <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
			<!-- 日志最大的历史 60天 -->
			<maxHistory>60</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>${log.pattern}</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <!-- 过滤的级别 -->
            <level>ERROR</level>
			<!-- 匹配时的操作:接收(记录) -->
            <onMatch>ACCEPT</onMatch>
			<!-- 不匹配时的操作:拒绝(不记录) -->
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

    <!-- app模块日志级别控制  -->
	<logger name="com.ruoyi.app" level="DEBUG" />
	<!-- Spring日志级别控制  -->
	<logger name="org.springframework" level="warn" />

	<root level="DEBUG">
		<appender-ref ref="console" />
	</root>

	<!--系统操作日志-->
    <root level="warn">
        <appender-ref ref="file_info" />
        <appender-ref ref="file_error" />
    </root>
</configuration>
为了在Linux系统上部署基于YOP SDK的C#项目,需要完成以下几个关键步骤: ### 1. 环境准备 首先确保Linux系统已经安装了必要的运行环境和工具。对于C#项目,通常需要安装 .NET 运行时或SDK。根据项目的具体需求选择合适的版本(如.NET Core 3.1、.NET 5、.NET 6等)。 可以通过以下命令安装 .NET SDK: ```bash sudo apt-get update sudo apt-get install -y dotnet-sdk-6.0 ``` 如果只需要运行时,则可以安装如下: ```bash sudo apt-get install -y aspnetcore-runtime-6.0 ``` ### 2. 获取 YOP SDK 确保你已经从官方渠道获取了YOP SDK,并将其添加到你的C#项目中。YOP SDK通常是以NuGet包的形式提供,可以在项目文件(`.csproj`)中通过`<PackageReference>`标签引入[^1]。 例如,在`.csproj`文件中添加如下内容以引用YOP SDK: ```xml <PackageReference Include="Yop.Sdk" Version="1.0.0" /> ``` ### 3. 构建项目 在Linux环境中,使用 `dotnet build` 命令来构建项目。假设你的项目文件位于当前目录下的 `MyYopProject.csproj`,则可以执行以下命令进行构建: ```bash dotnet build MyYopProject.csproj -c Release ``` 如果你希望将项目发布为独立的应用程序(包含所有依赖项和运行时),可以使用以下命令: ```bash dotnet publish MyYopProject.csproj -c Release -r linux-x64 --self-contained ``` 这将在 `bin/Release/net6.0/linux-x64/publish` 目录下生成可执行文件和相关依赖。 ### 4. 配置YOP SDK YOP SDK通常需要配置API密钥、证书路径以及其他服务参数。这些配置可以通过代码直接设置,也可以通过配置文件(如 `appsettings.json`)进行管理。 例如,在代码中初始化YOP客户端: ```csharp var client = new YopClient("https://api.yop.com", "your-client-id", "your-client-secret"); ``` 此外,还可以通过配置文件加载参数: ```json { "Yop": { "BaseUrl": "https://api.yop.com", "ClientId": "your-client-id", "ClientSecret": "your-client-secret" } } ``` 然后在代码中读取配置并初始化客户端: ```csharp var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json") .Build(); var yopConfig = config.GetSection("Yop").Get<YopConfig>(); var client = new YopClient(yopConfig.BaseUrl, yopConfig.ClientId, yopConfig.ClientSecret); ``` ### 5. 运行项目 构建完成后,可以直接运行发布的可执行文件。进入 `publish` 目录后执行: ```bash ./MyYopProject ``` 如果遇到权限问题,可以使用 `chmod` 修改文件权限: ```bash chmod +x MyYopProject ``` ### 6. 日志与调试 建议启用日志记录功能以便于排查问题。YOP SDK通常支持日志输出,可以通过设置日志级别来控制输出信息的详细程度。例如: ```csharp client.Logger = new ConsoleLogger(); client.LogLevel = LogLevel.Debug; ``` 这样可以将请求和响应的详细信息输出到控制台,便于调试。 ### 7. 安全性与证书管理 如果YOP SDK涉及HTTPS通信,确保Linux系统上的证书信任链完整。可以通过以下命令更新证书库: ```bash sudo apt-get install -y ca-certificates ``` 同时,如果使用了双向SSL认证,还需要将客户端证书导入到系统的信任存储中。 ### 8. 自动化部署(可选) 为了简化部署流程,可以编写Shell脚本或使用CI/CD工具(如Jenkins、GitLab CI等)实现自动化构建和部署。例如,创建一个简单的部署脚本 `deploy.sh`: ```bash #!/bin/bash # 更新代码 git pull origin main # 恢复依赖并构建 dotnet restore dotnet build -c Release # 发布应用 dotnet publish -c Release -r linux-x64 --self-contained # 停止旧进程(如果有) pkill -f MyYopProject || true # 启动新实例 cd bin/Release/net6.0/linux-x64/publish nohup ./MyYopProject > app.log 2>&1 & ``` 赋予脚本执行权限并运行: ```bash chmod +x deploy.sh ./deploy.sh ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值