// Module included in the following assemblies:
//
// * observability/logging/log_collection_forwarding/log-forwarding.adoc

:_mod-docs-content-type: CONCEPT
[id="log-forwarding-implementations_{context}"]
= Log forwarding implementations

There are two log forwarding implementations available: the legacy implementation, and the multi log forwarder feature.

[IMPORTANT]
====
Only the Vector collector is supported for use with the multi log forwarder feature. The Fluentd collector can only be used with legacy implementations.
====

[id="log-forwarding-implementations-legacy_{context}"]
== Legacy implementation

In legacy implementations, you can only use one log forwarder in your cluster. The `ClusterLogForwarder` resource in this mode must be named `instance`, and must be created in the `openshift-logging` namespace. The `ClusterLogForwarder` resource also requires a corresponding `ClusterLogging` resource named `instance` in the `openshift-logging` namespace.

[id="log-forwarding-implementations-multi-clf_{context}"]
== Multi log forwarder feature

The multi log forwarder feature is available in logging 5.8 and later, and provides the following functionality:

* Administrators can control which users are allowed to define log collection and which logs they are allowed to collect.
* Users who have the required permissions are able to specify additional log collection configurations.
* Administrators who are migrating from the deprecated Fluentd collector to the Vector collector can deploy a new log forwarder separately from their existing deployment. The existing and new log forwarders can operate simultaneously while workloads are being migrated.

In multi log forwarder implementations, you are not required to create a corresponding `ClusterLogging` resource for your `ClusterLogForwarder` resource. You can create multiple `ClusterLogForwarder` resources using any name, in any namespace, with the following exceptions:

* You cannot create a `ClusterLogForwarder` resource named `instance` in the `openshift-logging` namespace, because this is reserved for a log forwarder that supports the legacy workflow using the Fluentd collector.
* You cannot create a `ClusterLogForwarder` resource named `collector` in the `openshift-logging` namespace, because this is reserved for the collector.
