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 547f56646d8bb..c8f23cc6154a8 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
@@ -39,7 +39,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);
diff --git a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_settings/index.test.tsx b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_settings/index.test.tsx
index 80c00388e7f4d..339f39d8a25c5 100644
--- a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_settings/index.test.tsx
+++ b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_settings/index.test.tsx
@@ -97,7 +97,7 @@ describe('AgentSettings', () => {
},
});
};
- 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');
@@ -105,6 +105,53 @@ describe('AgentSettings', () => {
expect(logLevelDropdown).toHaveDisplayValue('debug');
});
+ it('should fall back to policy log level when agent has no per-agent override', () => {
+ mockStartServices();
+ const renderer = createFleetTestRendererMock();
+ const agent = {
+ id: 'agent1',
+ local_metadata: { elastic: { agent: { version: '8.15.0' } } },
+ } as any;
+ const agentPolicy = {
+ id: 'policy1',
+ name: 'policy1',
+ revision: 1,
+ namespace: 'default',
+ updated_at: '2023-10-04T13:08:53.340Z',
+ updated_by: 'elastic',
+ data_streams: [],
+ is_managed: false,
+ is_default: false,
+ is_preconfigured: false,
+ advanced_settings: { agent_logging_level: 'warning' },
+ } 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', () => {
+ mockStartServices();
+ const renderer = createFleetTestRendererMock();
+ const agent = {
+ id: 'agent1',
+ local_metadata: { elastic: { agent: { version: '8.15.0' } } },
+ } as any;
+ const agentPolicy = {
+ id: 'policy1',
+ name: 'policy1',
+ revision: 1,
+ namespace: 'default',
+ updated_at: '2023-10-04T13:08:53.340Z',
+ updated_by: 'elastic',
+ data_streams: [],
+ is_managed: false,
+ is_default: false,
+ is_preconfigured: false,
+ } as any;
+ const result = renderer.render();
+ expect(result.getByTestId('selectAgentLogLevel')).toHaveDisplayValue('info');
+ });
+
it('should hide reset log level button for agents version < 8.15.0', () => {
mockStartServices();
const result = renderComponent();