diff --git a/.changeset/soft-shoes-check.md b/.changeset/soft-shoes-check.md
new file mode 100644
index 0000000000..5600344cc1
--- /dev/null
+++ b/.changeset/soft-shoes-check.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder': patch
+---
+
+Switch to using `LogViewer` component from `@backstage/core-components` to display scaffolder logs.
diff --git a/plugins/scaffolder/package.json b/plugins/scaffolder/package.json
index ef2fa32974..8a6123b7a9 100644
--- a/plugins/scaffolder/package.json
+++ b/plugins/scaffolder/package.json
@@ -55,7 +55,6 @@
"lodash": "^4.17.21",
"luxon": "^2.0.2",
"qs": "^6.9.4",
- "react-lazylog": "^4.5.2",
"react-router": "6.0.0-beta.0",
"react-router-dom": "6.0.0-beta.0",
"react-use": "^17.2.4",
diff --git a/plugins/scaffolder/src/components/TaskPage/TaskPage.tsx b/plugins/scaffolder/src/components/TaskPage/TaskPage.tsx
index 11d12282d2..58ec3dfc02 100644
--- a/plugins/scaffolder/src/components/TaskPage/TaskPage.tsx
+++ b/plugins/scaffolder/src/components/TaskPage/TaskPage.tsx
@@ -20,7 +20,7 @@ import {
Header,
Lifecycle,
Page,
- Progress,
+ LogViewer,
} from '@backstage/core-components';
import { BackstageTheme } from '@backstage/theme';
import {
@@ -40,15 +40,13 @@ import Check from '@material-ui/icons/Check';
import FiberManualRecordIcon from '@material-ui/icons/FiberManualRecord';
import classNames from 'classnames';
import { DateTime, Interval } from 'luxon';
-import React, { memo, Suspense, useEffect, useMemo, useState } from 'react';
+import React, { memo, useEffect, useMemo, useState } from 'react';
import { useParams } from 'react-router';
import { useInterval } from 'react-use';
import { Status, TaskOutput } from '../../types';
import { useTaskEventStream } from '../hooks/useEventStream';
import { TaskPageLinks } from './TaskPageLinks';
-const LazyLog = React.lazy(() => import('react-lazylog/build/LazyLog'));
-
// typings are wrong for this library, so fallback to not parsing types.
const humanizeDuration = require('humanize-duration');
@@ -213,22 +211,6 @@ export const TaskStatusStepper = memo(
},
);
-const TaskLogger = memo(({ log }: { log: string }) => {
- return (
-