mirror of https://github.com/portainer/portainer
47 lines
1.4 KiB
TypeScript
47 lines
1.4 KiB
TypeScript
import { useCurrentStateAndParams } from '@uirouter/react';
|
|
|
|
import { useContainer } from '@/react/docker/containers/queries/container';
|
|
|
|
import { InformationPanel } from '@@/InformationPanel';
|
|
import { TextTip } from '@@/Tip/TextTip';
|
|
import { Link } from '@@/Link';
|
|
|
|
export function LogView() {
|
|
const {
|
|
params: { endpointId: environmentId, id: containerId },
|
|
} = useCurrentStateAndParams();
|
|
|
|
const containerQuery = useContainer(environmentId, containerId);
|
|
if (!containerQuery.data || containerQuery.isLoading) {
|
|
return null;
|
|
}
|
|
|
|
const logsEnabled =
|
|
containerQuery.data.HostConfig?.LogConfig?.Type && // if a portion of the object path doesn't exist, logging is likely disabled
|
|
containerQuery.data.HostConfig.LogConfig.Type !== 'none'; // if type === none logging is disabled
|
|
|
|
return <>{!logsEnabled && <LogsDisabledInfoPanel />}</>;
|
|
}
|
|
|
|
function LogsDisabledInfoPanel() {
|
|
const {
|
|
params: { id: containerId, nodeName },
|
|
} = useCurrentStateAndParams();
|
|
|
|
return (
|
|
<InformationPanel>
|
|
<TextTip color="blue">
|
|
Logging is disabled for this container. If you want to re-enable
|
|
logging, please{' '}
|
|
<Link
|
|
to="docker.containers.new"
|
|
params={{ from: containerId, nodeName }}
|
|
>
|
|
redeploy your container
|
|
</Link>{' '}
|
|
and select a logging driver in the "Command & logging" panel.
|
|
</TextTip>
|
|
</InformationPanel>
|
|
);
|
|
}
|