Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么spring引导批处理应用程序不打印到控制台?_Spring_Spring Boot_Spring Batch_Slf4j_Spring Logback - Fatal编程技术网

为什么spring引导批处理应用程序不打印到控制台?

为什么spring引导批处理应用程序不打印到控制台?,spring,spring-boot,spring-batch,slf4j,spring-logback,Spring,Spring Boot,Spring Batch,Slf4j,Spring Logback,我正在使用sprint启动程序和spring批处理。我将所有内容记录到日志文件和控制台。我在类级别使用注释作为lomback的@Slf4j。 在日志文件中,一切正常,但控制台中没有显示任何内容。 我使用perl文件启动shell脚本文件,shell文件执行jar文件,jar文件由我的所有批处理应用程序组成 我的perl文件启动一个shell文件,shell文件是jar文件 perl: $command = ". $ENV{'TARI_SOMPROGS'}$bin_pad"."StartAggr.

我正在使用sprint启动程序和spring批处理。我将所有内容记录到日志文件和控制台。我在类级别使用注释作为lomback的
@Slf4j
。 在日志文件中,一切正常,但控制台中没有显示任何内容。 我使用perl文件启动shell脚本文件,shell文件执行jar文件,jar文件由我的所有批处理应用程序组成

我的perl文件启动一个shell文件,shell文件是jar文件

perl:

$command = ". $ENV{'TARI_SOMPROGS'}$bin_pad"."StartAggr.sh $jaa $maan $ENV{'TARI_DBNAAM'} $td 1 1>&2 ";
      start_ica_shell($command);
java -jar ${TARI_SOFTWARE}/aggre/jar/spring-batch-article-0.0.1-SNAPSHOT.jar $JAA $MAAN $DATABASE $TARI $AGGR_TYPE
外壳文件:

$command = ". $ENV{'TARI_SOMPROGS'}$bin_pad"."StartAggr.sh $jaa $maan $ENV{'TARI_DBNAAM'} $td 1 1>&2 ";
      start_ica_shell($command);
java -jar ${TARI_SOFTWARE}/aggre/jar/spring-batch-article-0.0.1-SNAPSHOT.jar $JAA $MAAN $DATABASE $TARI $AGGR_TYPE
为什么不打印到控制台

我尝试的是: 首先我使用了
logback spring.xml
,在
应用程序.properties中配置如下:

<configuration scan="true" debug="true">
    <include resource="org/springframework/boot/logging/logback/base.xml"/>
<logger name="guru.springframework.controllers" level="WARN" additivity="false">
    <appender-ref ref="CONSOLE"/>
    <appender-ref ref="FILE"/>
</logger>
<logger name="guru.springframework.helpers" level="WARN" additivity="false">
    <appender-ref ref="CONSOLE"/>
    <appender-ref ref="FILE"/>
</logger>
    <?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true" scan="true" scanPeriod="30 seconds">
    <property name="LOG_PATH" value="/ava/tari/print/log/aggregatie" />
    <property name="LOG_ARCHIVE" value="${LOG_PATH}/archive" />
    <timestamp key="timestamp-by-second" datePattern="yyyyMMdd'T'HHmmss"/>
    <appender name="Console-Appender" class="ch.qos.logback.core.ConsoleAppender">
        <layout>
            <pattern>%msg%n</pattern>
            <!--<pattern>%d{yyyy/MM/dd uu:mm:ss, SSS} [%thread] %-5level %logger{36} -%m %throwable{0} %n</pattern>-->
        </layout>j
    </appender>
    <appender name="File-Appender" class="ch.qos.logback.core.FileAppender">
        <file>${LOG_PATH}/logfile-${timestamp-by-second}.log</file>
        <encoder>
            <!--<pattern>%msg%n</pattern>-->
            <pattern>%d{yyyy/MM/dd uu:mm:ss, SSS} [%thread] %-5level %logger{36} -%m %throwable{0} %n</pattern>
            <outputPatternAsHeader>true</outputPatternAsHeader>
        </encoder>
    </appender>
    <appender name="RollingFile-Appender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_PATH}/rollingfile.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_ARCHIVE}/rollingfile.log%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>30</maxHistory>
            <totalSizeCap>1KB</totalSizeCap>
        </rollingPolicy>
        <encoder>
            <!--<pattern>%msg%n</pattern>-->
            <pattern>%d{yyyy/MM/dd uu:mm:ss, SSS} [%thread] %-5level %logger{36} -%m %throwable{0} %n</pattern>
        </encoder>
    </appender>
    <appender name="Async-Appender" class="ch.qos.logback.classic.AsyncAppender">
        <appender-ref ref="RollingFile-Appender" />
    </appender>

    <logger name="be.kava.batch.aggregation"  level="info" additivity="false">
        <appender-ref ref="Console-Appender" />
        <appender-ref ref="File-Appender" />
        <appender-ref ref="Async-Appender" />
    </logger>
    <root>
        <appender-ref ref="Console-Appender" />
    </root>
</configuration>
和my
pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.toptal</groupId>
    <artifactId>spring-batch</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>spring-batch-article</name>
    <description>Demo project for Spring Batch</description>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.3.RELEASE</version>
        <relativePath/>
    </parent>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <!--<dependency>-->
            <!--<groupId>org.springframework.boot</groupId>-->
            <!--<artifactId>spring-boot-starter</artifactId>-->
            <!--<exclusions>-->
                <!--<exclusion>-->
                    <!--<groupId>org.springframework.boot</groupId>-->
                    <!--<artifactId>spring-boot-starter-logging</artifactId>-->
                <!--</exclusion>-->
            <!--</exclusions>-->
        <!--</dependency>-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-batch</artifactId>
            <version>2.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.6</version>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.batch</groupId>
            <artifactId>spring-batch-test</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-cli -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-cli</artifactId>
            <version>2.1.3.RELEASE</version>
        </dependency>
        <!--Logback Begin-->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.2.3</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
        </dependency>
        <!--Logback End-->
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.1.3.RELEASE</version>
            </plugin>
        </plugins>
    </build>

</project>

我添加了
选择标准输出,如下所示。
这解决了将输出重定向回正常状态的问题

select STDOUT;
$command = ". $ENV{'TARI_SOMPROGS'}$bin_pad"."StartAggr.sh $jaa $maan $ENV{'TARI_DBNAAM'} $td 1 1>&2 ";
      start_ica_shell($command);