diff --git a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/agent_logs.test.tsx b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/agent_logs.test.tsx
index bafaefd1286f8..7af059bf4e1bc 100644
--- a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/agent_logs.test.tsx
+++ b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/agent_logs.test.tsx
@@ -11,6 +11,7 @@ import { useAuthz, useStartServices } from '../../../../../hooks';
import { createFleetTestRendererMock } from '../../../../../../../mock';
import { AgentLogsUI } from './agent_logs';
+import { SelectLogLevel } from './select_log_level';
jest.mock('@kbn/kibana-utils-plugin/public', () => {
return {
@@ -192,7 +193,7 @@ describe('AgentLogsUI', () => {
expect(result.queryByTestId('viewInLogsBtn')).not.toBeInTheDocument();
});
- it('should show log level dropdown with correct value', () => {
+ it('should show log level dropdown with correct value when agent has a per-agent override', () => {
mockStartServices();
const result = renderComponent();
const logLevelDropdown = result.getByTestId('selectAgentLogLevel');
@@ -200,6 +201,32 @@ describe('AgentLogsUI', () => {
expect(logLevelDropdown).toHaveDisplayValue('debug');
});
+ it('should fall back to policy log level when agent has no per-agent override', () => {
+ jest.mocked(useStartServices).mockReturnValue({
+ notifications: { toasts: { addSuccess: jest.fn(), addError: jest.fn() } },
+ } as any);
+ const renderer = createFleetTestRendererMock();
+ const agent = {
+ id: 'agent1',
+ local_metadata: { elastic: { agent: { version: '8.15.0' } } },
+ } as any;
+ const result = renderer.render();
+ expect(result.getByTestId('selectAgentLogLevel')).toHaveDisplayValue('warning');
+ });
+
+ it('should fall back to info when agent has no per-agent override and policy has no log level set', () => {
+ jest.mocked(useStartServices).mockReturnValue({
+ notifications: { toasts: { addSuccess: jest.fn(), addError: jest.fn() } },
+ } as any);
+ const renderer = createFleetTestRendererMock();
+ const agent = {
+ id: 'agent1',
+ local_metadata: { elastic: { agent: { version: '8.15.0' } } },
+ } as any;
+ const result = renderer.render();
+ expect(result.getByTestId('selectAgentLogLevel')).toHaveDisplayValue('info');
+ });
+
it('should always show apply log level changes button', () => {
mockStartServices();
const result = renderComponent();
diff --git a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/select_log_level.tsx b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/select_log_level.tsx
index ad69e7ce3b22a..3a746be5dc6f1 100644
--- a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/select_log_level.tsx
+++ b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/select_log_level.tsx
@@ -29,7 +29,7 @@ export const SelectLogLevel: React.FC<{ agent: Agent; agentPolicyLogLevel?: stri
);
const [agentLogLevel, setAgentLogLevel] = useState(
- agent.local_metadata?.elastic?.agent?.log_level ?? DEFAULT_LOG_LEVEL
+ agent.local_metadata?.elastic?.agent?.log_level ?? agentPolicyLogLevel
);
const [selectedLogLevel, setSelectedLogLevel] = useState(agentLogLevel);