> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Logback

> Configures Logback connections. You can manage API traffic and system logs file-based with Logback RollingFileAppender and perform rolling file management

## Overview

<AccordionGroup>
  <Accordion title="What is its Purpose?">
    <CardGroup cols={2}>
      <Card title="Centralized Log Collection" icon="file-lines">
        Collects high-volume logs file-based for API Proxy traffic on Apinizer Gateway and provides continuous visibility to operations teams.
      </Card>

      <Card title="Disk Consumption Control" icon="hard-drive">
        Controls disk consumption through RollingFileAppender parameters, guarantees separation of logs with daily/hourly cycles.
      </Card>

      <Card title="Environment-Based Separation" icon="code-branch">
        Environment-based log directories are defined to provide Development/Test/Production separation and speed up incident analysis.
      </Card>

      <Card title="Security and Permission Management" icon="shield">
        Since incorrect logPath permissions can cause errors, validation of access rights at OS level is critical.
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Working Principle">
    <CardGroup cols={2}>
      <Card title="Connection Initiation" icon="play">
        When a Logback connection is requested from within an Integration Flow or Connector, the system reads the configured connection parameters.
      </Card>

      <Card title="Connection Pool Management" icon="layer-group">
        Logback RollingFileAppender manages concurrent write needs to the same log file by reusing file handles on worker node.
      </Card>

      <Card title="Authentication" icon="shield">
        Worker pod accesses target file system with system user account and file permissions linked to selected Environment; does not require additional Authentication layer.
      </Card>

      <Card title="Data Communication" icon="file-text">
        HTTP request/response headers, bodies, and metadata are formatted with specified logPattern and written to specified logPath/logFileName combination via File I/O.
      </Card>

      <Card title="Connection Management" icon="gear">
        After operation completes, connection remains open within same worker thread and RollingFileAppender buffer is flushed to wait for new requests.
      </Card>

      <Card title="Error Management" icon="triangle-exclamation">
        In case of connection error, timeout, or authentication error, deployment-result dialog activates with detailed error message, user is advised to review log directory and permission checks.
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Use Cases">
    <CardGroup cols={2}>
      <Card title="API Proxy Traffic Logging" icon="file-lines">
        Storing API Proxy traffic logs centrally and preparing for SIEM integration.
      </Card>

      <Card title="Request/Response Tracking" icon="search">
        Ability to retrospectively analyze detailed request/response traces in business-critical integrations.
      </Card>

      <Card title="Log Retention Policies" icon="calendar">
        Maintaining disk capacity balance by applying environment-based log retention policies.
      </Card>

      <Card title="Security Reviews" icon="shield">
        Filtering and exporting specific pod or endpoint logs during security reviews.
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

## Technical Features and Capabilities

<AccordionGroup>
  <Accordion title="Basic Features">
    <CardGroup cols={2}>
      <Card title="Log Directory Management" icon="folder">
        Directory on worker node is selected with logPath field, invalid folders are actively rejected.
      </Card>

      <Card title="File Naming Patterns" icon="file-code">
        logFileName and logFilenamePattern combination splits logs date/sequence-based, provides easy archiving capability.
      </Card>

      <Card title="Storage Limit Control" icon="hard-drive">
        Disk consumption is kept under control with maxFileSize, maxHistory, and totalSizeCap values.
      </Card>

      <Card title="Environment-Based Configuration" icon="code-branch">
        Ability to define separate connection parameters for each environment (Development, Test, Production).
      </Card>

      <Card title="Enable/Disable Control" icon="toggle-on">
        Activating or deactivating the Connection (enable/disable toggle). In passive state, connection cannot be used but its configuration is preserved.
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Advanced Features">
    <CardGroup cols={2}>
      <Card title="Instant Test Support" icon="flask">
        Test Connection button triggers logPath access and pattern validation before saving.
      </Card>

      <Card title="Name Conflict Prevention" icon="shield">
        Instant uniqueness check is performed for Name field, registration is blocked in case of conflict.
      </Card>

      <Card title="Move to Global" icon="share">
        Project-based connections are moved to global area with single click, enabling multi-project usage.
      </Card>

      <Card title="Connection Test Feature" icon="flask">
        Ability to validate connection parameters before saving with "Test Connection" button.
      </Card>

      <Card title="Export/Import Feature" icon="file-export">
        Export connection configuration as ZIP file. Import to different environments (Development, Test, Production). Version control and backup capability.
      </Card>

      <Card title="Connection Monitoring" icon="chart-line">
        Monitoring connection health, pool status, and performance metrics.
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

## Connection Parameters

<AccordionGroup>
  <Accordion title="Required Parameters">
    <CardGroup cols={2}>
      <Card title="Name" icon="tag">
        **Description:** Connection name (must be unique)\
        **Example Value:** `Production_Logback`\
        **Notes:** Cannot start with space, special characters should not be used
      </Card>

      <Card title="Log Path (logPath)" icon="folder">
        **Description:** Directory where log files will be written\
        **Example Value:** `/var/log/apinizer/`\
        **Notes:** Worker pod must have write permission, absolute path recommended
      </Card>

      <Card title="Log File Name (logFileName)" icon="file-lines">
        **Description:** RollingFileAppender base file name\
        **Example Value:** `ApinizerApiProxyTraffic`\
        **Notes:** Use of letters, numbers, and `_` recommended
      </Card>

      <Card title="Log Filename Pattern (logFilenamePattern)" icon="file-code">
        **Description:** File name pattern containing date and index\
        **Example Value:** `%d{yyyy-MM-dd}.%i.log`\
        **Notes:** Logback patterns supported, date format required
      </Card>

      <Card title="Log Pattern (logPattern)" icon="code">
        **Description:** Single-line log format\
        **Example Value:** `%d{yyyy-MM-dd HH:mm:ss.SSS}[%t]%n`\
        **Notes:** All compatible with Logback conversion patterns
      </Card>

      <Card title="Max File Size (maxFileSize)" icon="file">
        **Description:** Upper limit of single file in MB\
        **Example Value:** 25\
        **Notes:** Positive integer, 1-1024 MB range recommended
      </Card>

      <Card title="Max History (maxHistory)" icon="calendar">
        **Description:** Number of rolling files to keep\
        **Example Value:** 30\
        **Notes:** 0 means unlimited but disk may grow
      </Card>

      <Card title="Total Size Cap (totalSizeCap)" icon="hard-drive">
        **Description:** Total MB limit of all rolling files\
        **Example Value:** 1024\
        **Notes:** If 0, Logback does not apply total limit; >512 MB recommended for Production
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Optional Parameters">
    <CardGroup cols={2}>
      <Card title="Description" icon="file-text">
        **Description:** Purpose or scope of the connection\
        **Default Value:** ''\
        **Recommended Value:** Short description indicating function and target system
      </Card>

      <Card title="Environment (environmentId)" icon="server">
        **Description:** Published environment selection\
        **Default Value:** null\
        **Recommended Value:** Separate value selection recommended for each environment
      </Card>

      <Card title="Log Pod Name (logPodName)" icon="server">
        **Description:** Label to route logs to specific worker pod\
        **Default Value:** ''\
        **Recommended Value:** Use when need to write only to target pod in multi-node clusters
      </Card>

      <Card title="Deploy To Worker (deployToWorker)" icon="rocket">
        **Description:** Whether connection will be deployed to worker nodes\
        **Default Value:** true\
        **Recommended Value:** false if kept for test purposes only on management node
      </Card>

      <Card title="Enable Status" icon="toggle-on">
        **Description:** Activeness of the connection\
        **Default Value:** true\
        **Recommended Value:** Always active in Production, can be temporarily closed while resolving issues
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

### Timeout and Connection Pool Parameters

<CardGroup cols={2}>
  <Card title="Connection Timeout" icon="clock">
    **Description:** Maximum wait time for connection establishment\
    **Default:** Not applicable\
    **Min:** - | **Max:** -\
    **Unit:** milliseconds
  </Card>

  <Card title="Request Timeout" icon="hourglass">
    **Description:** Maximum wait time for request response\
    **Default:** Not applicable\
    **Min:** - | **Max:** -\
    **Unit:** milliseconds
  </Card>

  <Card title="Pool Size" icon="layer-group">
    **Description:** Maximum number of connections in connection pool\
    **Default:** Not applicable\
    **Min:** - | **Max:** -\
    **Unit:** count
  </Card>

  <Card title="Flush Interval" icon="repeat">
    **Description:** Log buffer write interval to disk (Logback internal)\
    **Default:** 1000\
    **Min:** 250 | **Max:** 5000\
    **Unit:** milliseconds
  </Card>
</CardGroup>

## Use Cases

<CardGroup cols={2}>
  <Card title="API Proxy Traffic Monitoring" icon="chart-line">
    **Situation:** High-volume traffic analysis required\
    **Solution:** logPath=/var/log/apinizer/proxy, maxHistory=30, totalSizeCap=2048\
    **Expected Behavior:** All calls stored with 30-day history, readable by SIEM
  </Card>

  <Card title="Security Incident Review" icon="shield">
    **Situation:** Specific endpoint logs requested\
    **Solution:** logFilenamePattern=`%d{yyyy-MM-dd}-security.%i.log`\
    **Expected Behavior:** Date-based files quickly filtered, review performed within incident period
  </Card>

  <Card title="Integration Tests" icon="flask">
    **Situation:** Detailed log required in QA environment\
    **Solution:** environmentId=Test, maxFileSize=10\
    **Expected Behavior:** Test logs split into small files, developers easily download
  </Card>

  <Card title="Pod-Based Separation" icon="server">
    **Situation:** Problem exists in specific worker pod\
    **Solution:** logPodName=gateway-worker-2\
    **Expected Behavior:** Logs taken only from relevant pod, target problem isolated
  </Card>

  <Card title="Regulatory Archiving" icon="file-archive">
    **Situation:** Log retention under GDPR\
    **Solution:** maxHistory=0, totalSizeCap=5120\
    **Expected Behavior:** Legal retention period provided with total quota instead of infinite cycle
  </Card>

  <Card title="Disaster Recovery" icon="rotate">
    **Situation:** Copying logs to backup node\
    **Solution:** logPath=/mnt/dr/logs, Enable Export All on\
    **Expected Behavior:** All logs written to shared storage in failover scenario
  </Card>
</CardGroup>

## Connection Configuration

### Creating New Logback

<img src="https://mintcdn.com/apinizer/YX1NcEKlSBeHefxE/images/yonetici/baglantilar/logback-variable-new.png?fit=max&auto=format&n=YX1NcEKlSBeHefxE&q=85&s=5020d60beb80aab5214252fcce7206ea" alt="Image 2024 9 9 15 35 35 Pn" width="1000" className="mr-auto" data-path="images/yonetici/baglantilar/logback-variable-new.png" />

<Steps>
  <Step title="Navigate to Creation Page">
    * Go to **Connection → Logback** section from left menu.
    * Click **\[+ Create]** button at top right.
  </Step>

  <Step title="Enter Basic Information">
    **Enable Status (Active Status):** Set active/passive status with toggle. New connections are active by default.

    **Name Required:**
    Example: `Production_Logback`

    * Enter unique name, cannot start with space.
    * System automatically checks. Green checkmark: available. Red X: existing name.

    **Description:**
    Example: "API proxy traffic logs"

    * Max. 1000 characters.
    * Describe the purpose of the Connection.

    <Info>
      In the action button area at the top of the page, you can use the **\[\<> Variable]** button to select dynamic values, and with global variables, you can manage connection parameters with variable-based values instead of fixed values. For detailed information, review the [Dynamic Variables](/en/concepts/core-concepts/dynamic-variables) page.
    </Info>
  </Step>

  <Step title="Environment Selection">
    * Select environment from dropdown menu: **Development**, **Test**, or **Production**.
    * Different connection parameters can be defined for each environment.
  </Step>

  <Step title="Logback Specific Parameters - Directory and Naming">
    * Enter absolute directory that worker node can write to in **logPath** field.
    * Determine RollingFileAppender file cycle with **logFileName** and **logFilenamePattern** fields; pay attention to containing date and index.
    * Unauthorized directories produce errors during deployment.
  </Step>

  <Step title="Logback Specific Parameters - Content and Format">
    * Fill **logPattern** field with Logback conversion patterns, add thread name or request-id if needed.
    * Use **logPodName** field if routing to specific pod is required.
  </Step>

  <Step title="Timeout and Connection Pool Settings">
    * Logback file writing has no separate timeout; if needed, update flush interval settings at JVM level through deployment descriptor.
    * Set **maxFileSize**, **maxHistory**, **totalSizeCap** values appropriately according to operation policies for disk quotas.
  </Step>

  <Step title="Security and Authentication Settings">
    * Ensure worker node user account has write permission on **logPath**.
    * Use file system ACLs or Kerberos-supported share points if needed.
    * In production environment, allow only authorized service accounts to access shared directories.
  </Step>

  <Step title="Test Connection">
    * Click **\[Test Connection]** button.
    * Test whether connection parameters are correct.
    * Success: Green confirmation message, Failed: Error details shown.
  </Step>

  <Step title="Save">
    * Click **\[Save and Deploy]** button at top right.

    **Checklist:** Unique name. Required fields filled. Test connection successful (recommended)

    **Result:**

    * Connection is added to list.
    * Becomes available in Integration Flow and Connector steps.
    * Becomes active according to environment.

    <Check>
      Connection created successfully! You can now use it in Integration Flow and Connector steps.
    </Check>
  </Step>
</Steps>

### Deleting Connection

<CardGroup cols={2}>
  <Card title="Delete Operation" icon="trash">
    Select **Delete** from **⋮** menu at end of row or click **\[Delete]** button on connection detail page
  </Card>

  <Card title="Delete Tips" icon="info-circle">
    **Check Before Deleting:** May be used in Integration Flow or Connector steps. If necessary, assign an alternative connection. Back up with **Export** before deleting
  </Card>

  <Card title="Alternative: Deactivate" icon="toggle-off">
    Use **Disable** option instead of deleting. Connection becomes passive but is not deleted. Can be reactivated when needed
  </Card>
</CardGroup>

### Exporting/Importing Connection

<Info>
  In this step, users can export existing connections for backup, moving to different environments, or sharing purposes, or import a previously exported connection again. This operation is used to maintain data integrity in version control, transitions between test and production environments, or inter-team sharing processes.
</Info>

<AccordionGroup>
  <Accordion title="Export">
    <CardGroup cols={2}>
      <Card title="Method 1" icon="download">
        Select **⋮ → Export** from action menu. ZIP file is automatically downloaded.
      </Card>

      <Card title="Method 2" icon="file-export">
        Click **\[Export]** button on connection detail page. ZIP file is downloaded.
      </Card>

      <Card title="File Format" icon="file-zipper">
        Format: `Date-connection-Logback-export.zip`\
        Example: `13 Nov 2025-connection-Production_Logback-export.zip`
      </Card>

      <Card title="ZIP Contents" icon="folder-open">
        * Connection JSON file
        * Metadata information
        * Dependency information (e.g., certificates, key store)
      </Card>

      <Card title="Use Cases" icon="list-check">
        * Backup
        * Moving between environments (Test → Prod)
        * Versioning
        * Team or project-based sharing
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Import">
    <CardGroup cols={2}>
      <Card title="Import Steps" icon="upload">
        * Click **\[Import Logback]** button on main list.
        * Select downloaded ZIP file.
        * System checks: Is format valid? Is there name conflict? Are dependencies present?
        * Then click **\[Import]** button.
      </Card>

      <Card title="Import Scenarios" icon="info-circle">
        **Scenario 1: Name Conflict** → Overwrite old connection or create with new name.

        **Scenario 2: Missing Dependencies** → Create missing certificates or key stores first or exclude during import.
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

### Connection Usage Areas

<CardGroup cols={2}>
  <Card title="Creating and Activating Connection" icon="plus-circle">
    **Steps:**

    1. Create the connection.
    2. Validate connection with **Test Connection**.
    3. Save and activate with **Save and Deploy**.
    4. Ensure connection is in **Enabled** state
  </Card>

  <Card title="Usage in Integration / Connector Steps" icon="plug">
    Connection is selected in steps requiring communication with message queue (queue), topic, email, FTP/SFTP, LDAP, or similar external systems. Examples: "Send Message", "Consume Message", "Upload File", "Read Directory" steps. Connection selection is made from **Connection** field in these steps' configuration
  </Card>

  <Card title="Scheduled Job Usage" icon="clock">
    In scheduled tasks (e.g., sending messages at certain intervals, file processing, etc.), access to external systems is provided by selecting connection. When connection changes, job execution behavior is updated accordingly
  </Card>

  <Card title="Test Usage" icon="flask">
    Connection correctness can be checked independently from Integration Flow with Connection Test feature. This test is critical in debugging process
  </Card>
</CardGroup>

## Best Practices

<AccordionGroup>
  <Accordion title="Do's and Best Practices">
    <CardGroup cols={2}>
      <Card title="Log Directory Selection" icon="folder">
        **Bad:** Using temp directories in Production.\
        **Good:** Opening separate `/var/log/apinizer` directory.\
        **Best:** Granting permission only to service account on dedicated disk or mount point.
      </Card>

      <Card title="File Pattern Management" icon="file-code">
        **Bad:** Not using date in pattern.\
        **Good:** Using daily dated pattern.\
        **Best:** Ensuring SIEM compatibility with pattern containing date + index and application name.
      </Card>

      <Card title="Storage Policy" icon="hard-drive">
        **Bad:** Leaving maxHistory=0 and totalSizeCap=0.\
        **Good:** Setting reasonable values according to traffic.\
        **Best:** Setting automatic cleanup rules according to disk capacity, regulation, and backup processes.
      </Card>

      <Card title="Pod-Based Routing" icon="server">
        **Bad:** Writing all pods to single directory.\
        **Good:** Using logPodName for problematic pods.\
        **Best:** Setting up separate directory for each pod + central collection pipeline.
      </Card>

      <Card title="Environment Management" icon="server">
        **Bad:** Using same connection parameters in all environments.\
        **Good:** Creating separate connection for each environment.\
        **Best:** Managing all environments in single connection using Environment option, only changing environment during transitions between environments
      </Card>

      <Card title="Connection Test" icon="flask">
        **Bad:** Saving and deploying connection without testing.\
        **Good:** Validating with Test Connection before saving.\
        **Best:** Testing after every parameter change, performing full integration test in test environment before going to production
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Security Best Practices">
    <CardGroup cols={2}>
      <Card title="File System Access Control" icon="shield">
        Define POSIX permissions that only relevant worker service accounts can write to logPath directory, do not open root shares in Production
      </Card>

      <Card title="Shared Storage Security" icon="network-wired">
        Restrict network segment in shares like NFS/Samba, apply IP-based allowlist in accesses
      </Card>

      <Card title="Log Content Masking" icon="mask">
        Prevent writing personal data to logPattern, anonymize sensitive fields with privacy setting components if needed
      </Card>

      <Card title="Credential Management" icon="lock">
        Store sensitive information such as username and password using environment variable or secret manager. Do not hardcode credentials in code or configuration files. Update passwords periodically
      </Card>

      <Card title="SSL/TLS Usage" icon="shield">
        Always enable SSL/TLS in production environment. Use self-signed certificates only in development environment. Track certificate expiration dates and renew on time
      </Card>

      <Card title="Access Control" icon="user-shield">
        Allow only authorized users to change connection configuration. Store connection change logs. Apply change approval process for critical connections
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Don'ts">
    <CardGroup cols={2}>
      <Card title="Writing to Shared Root Directory" icon="exclamation-triangle">
        **Why avoid:** Keeping logs in root directory leads to incorrect permissions, affects other services\
        **Alternative:** Use separately mounted log directory
      </Card>

      <Card title="Incorrect Date Pattern" icon="calendar">
        **Why avoid:** Files without dates are overwritten, log loss occurs\
        **Alternative:** Use patterns containing `%d`
      </Card>

      <Card title="Not Defining Quota" icon="hard-drive">
        **Why avoid:** Gateway may stop when disk is full\
        **Alternative:** Set maxFileSize, maxHistory, and totalSizeCap values according to system capacity
      </Card>

      <Card title="Using Production Connection in Test Environment" icon="triangle-exclamation">
        **Why avoid:** Test data may be written to production system, real users may be affected, security risk occurs\
        **Alternative:** Create separate connection for each environment, use environment parameter, separate connection names by adding prefix according to environment (Test\_, Prod\_)
      </Card>

      <Card title="Very Low Timeout Values" icon="clock">
        **Why avoid:** Connection constantly times out in network delays, Integration steps fail\
        **Alternative:** Adjust timeout values according to real usage scenarios, measure network latency and set timeouts accordingly
      </Card>

      <Card title="Not Using Connection Pool" icon="layer-group">
        **Why avoid:** New connection opens on every request, performance decreases, resource consumption increases, target system load increases\
        **Alternative:** Enable connection pool, adjust pool size according to traffic volume, set up pool monitoring
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Performance Tips">
    <CardGroup cols={2}>
      <Card title="Disk IO Optimization" icon="hard-drive">
        **Recommendation:** Prefer SSD-based directories, use `noatime` mount option\
        **Impact:** Write delays decrease, log recording becomes uninterrupted
      </Card>

      <Card title="Pattern Minimalism" icon="code">
        **Recommendation:** Include only needed fields in logPattern, avoid expensive JSON serializations\
        **Impact:** CPU usage decreases, log throughput increases
      </Card>

      <Card title="Retention Automation" icon="calendar">
        **Recommendation:** Match maxHistory and totalSizeCap values with real disk capacity, schedule background cleanup scripts\
        **Impact:** Disk fullness risks are eliminated, manual intervention need decreases
      </Card>

      <Card title="Connection Pool Optimization" icon="layer-group">
        **Recommendation:** Set pool size according to peak traffic (recommended: concurrent request count × 1.5), set idle connection timeouts, perform pool health check\
        **Impact:** Connection opening cost decreases by 80%, response times decrease, resource usage is optimized
      </Card>

      <Card title="Timeout Values Optimization" icon="clock">
        **Recommendation:** Measure real network latency, adjust timeout values accordingly, avoid very low or very high timeouts\
        **Impact:** Unnecessary waits are prevented, fast fail-over is provided, user experience improves
      </Card>

      <Card title="Connection Monitoring" icon="chart-bar">
        **Recommendation:** Monitor connection pool usage, track timeout rates, perform connection health check, set up alerting\
        **Impact:** Problems are proactively detected, performance bottlenecks are identified early, downtime decreases
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Log File Not Created">
    <Warning>
      logPath may be incorrect, worker may not have write permission, or connection may be in disable state.
    </Warning>

    <Steps>
      <Step title="LogPath Validation">
        Validate logPath value.
      </Step>

      <Step title="User Permissions">
        Check worker pod user permissions.
      </Step>

      <Step title="Enable Status">
        Turn on connection enable status.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="File Size Limit Exceeded">
    <Warning>
      maxFileSize may be low, maxHistory=0, or totalSizeCap=0 may exist.
    </Warning>

    <Steps>
      <Step title="Increase MaxFileSize">
        Increase maxFileSize according to traffic.
      </Step>

      <Step title="MaxHistory Limit">
        Set limit to maxHistory.
      </Step>

      <Step title="Define TotalSizeCap">
        Define totalSizeCap and redeploy.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Connection Timeout">
    <Warning>
      Network delay, target system responding slowly, or timeout value may be too low.
    </Warning>

    <Steps>
      <Step title="Network Check">
        Check network connectivity.
      </Step>

      <Step title="System Health">
        Check target system health.
      </Step>

      <Step title="Timeout Settings">
        Increase timeout values.
      </Step>

      <Step title="Log Review">
        Review connection logs.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Authentication Failed">
    <Warning>
      Wrong username/password, expired credentials, or permission problem may exist.
    </Warning>

    <Steps>
      <Step title="Credentials">
        Verify credentials.
      </Step>

      <Step title="User Status">
        Check that user is active on target system.
      </Step>

      <Step title="Permission Check">
        Check that necessary permissions are granted.
      </Step>

      <Step title="Certificate Check">
        Check SSL/TLS certificates.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Pool Exhausted">
    <Warning>
      Pool size may be too low, connection leak may exist, or traffic may be too high.
    </Warning>

    <Steps>
      <Step title="Pool Size">
        Increase pool size.
      </Step>

      <Step title="Connection Check">
        Check that connections are properly closed.
      </Step>

      <Step title="Idle Timeout">
        Set idle connection timeouts.
      </Step>

      <Step title="Metric Monitoring">
        Monitor connection usage metrics.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Connection Test Successful But Integration Flow Errors">
    <Warning>
      Different connection may be selected in Integration/Connector step, step may be misconfigured, or Flow/Job may not be redeployed.
    </Warning>

    <Steps>
      <Step title="Enable Toggle">
        Check that connection's enable toggle is active.
      </Step>

      <Step title="Connection Selection">
        Verify that correct connection is selected in Integration Flow.
      </Step>

      <Step title="Connection Deploy">
        Redeploy connection.
      </Step>

      <Step title="Flow/Job Deploy">
        Redeploy Integration Flow or Job.
      </Step>

      <Step title="Log Check">
        Check Gateway logs.
      </Step>
    </Steps>
  </Accordion>
</AccordionGroup>

## Frequently Asked Questions (FAQ)

<AccordionGroup>
  <Accordion title="What minimum parameters should I enter for Logback Connection?">
    <Info>
      Name, logPath, logFileName, logFilenamePattern, logPattern, and all limit fields must be filled; others are optional but recommended.
    </Info>
  </Accordion>

  <Accordion title="Can I transfer logs to both file and external system simultaneously?">
    <Check>
      Yes, while Logback Connection writes to file, REST API or Message Queue outputs can be defined with parallel Connector steps in Integration Flow.
    </Check>
  </Accordion>

  <Accordion title="What happens if I leave logPodName value empty?">
    <Info>
      When left empty, all worker pods rotate under same logPath; safe to leave empty if you won't track specific pods.
    </Info>
  </Accordion>

  <Accordion title="If maxHistory and totalSizeCap conflict, which takes priority?">
    <Info>
      Logback first cleans according to maxHistory value, then continues deleting oldest files if totalSizeCap overflow continues.
    </Info>
  </Accordion>

  <Accordion title="How can I transfer logs to external SIEM tool?">
    <Info>
      When rolling files complete, external agents or cron jobs can read logPath and push to SIEM; keep file pattern compatible with SIEM expectations.
    </Info>
  </Accordion>

  <Accordion title="Can I use the same connection in multiple Integration Flows?">
    <Check>
      Yes, the same connection can be used in multiple Integration Flow or Connector steps. This provides centralized management and guarantees configuration consistency. However, changes made to the connection will affect all usage locations, so care should be taken.
    </Check>
  </Accordion>

  <Accordion title="Is using connection pool mandatory?">
    <Info>
      Connection pool usage is not mandatory but strongly recommended in high-traffic systems. Reusing existing connections instead of opening new connection on every request significantly increases performance.
    </Info>
  </Accordion>

  <Accordion title="Should I create different connections for Test and Production?">
    <Check>
      Yes, it is recommended to create separate connection for each environment. Alternatively, you can manage all environments in a single connection using environment parameter. This approach provides easier management and less error risk.
    </Check>
  </Accordion>

  <Accordion title="Test Connection is successful but not working in Integration Flow, why?">
    <Warning>
      Several reasons may exist:
    </Warning>

    1. Connection enable toggle may be passive
    2. Different connection may be selected in Integration step
    3. Connection may not be deployed
    4. Integration Flow may not be redeployed yet
  </Accordion>
</AccordionGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="Logback Connector" icon="file-lines" href="/en/integrations/connectors/logback-connector">
    Learn Logback Connector usage
  </Card>

  <Card title="Connection Types Overview" icon="plug" href="/en/integrations/connection-management/overview">
    Connection types overview
  </Card>

  <Card title="Syslog Connector" icon="file-lines" href="/en/integrations/connectors/syslog-connector">
    Send Syslog messages
  </Card>
</CardGroup>
