Well, seems like I worded my question poorly.
I kept finding this link powershell-logging-using-apache-log4net but found it really hard to read.
So, I took this code and wrote it in friendlier fashion (for me). The entire ColoredConsoleAppender part can be removed, as it is just for displaying to console.
#####################################################################################################################
#Load log4net.dll
$DllPath = ([System.IO.Directory]::GetParent($MyInvocation.MyCommand.Path)).FullName
$DllFile = Resolve-Path (Join-Path -Path $DllPath -ChildPath 'log4net.dll')
[Void][Reflection.Assembly]::LoadFile($DllFile)
#####################################################################################################################
#FileAppender
#
#Define Values for FileAppender Configuration
$Pattern = '[%date{yyyy-MM-dd HH:mm:ss.fff} (%utcdate{yyyy-MM-dd HH:mm:ss.fff})] [%level] [%message]%n'
$PatternLayout = [log4net.Layout.ILayout](new-object log4net.Layout.PatternLayout($Pattern))
$LogPath = ([System.IO.Directory]::GetParent($MyInvocation.MyCommand.Path)).FullName
$LogFile = Join-Path -Path $LogPath -ChildPath $('LogFile_{0:yyyy-MM-dd}_{0:HH-mm-ss}.log' -f (Get-Date))
$AppendToFile = $True
#Load FileAppender Configuration
$FileAppender = new-object log4net.Appender.FileAppender($PatternLayout,$LogFile,$AppendToFile);
$FileAppender.Threshold = [log4net.Core.Level]::All
[log4net.Config.BasicConfigurator]::Configure($FileAppender)
#####################################################################################################################
#ColoredConsoleAppender
#
#Define Values for ColoredConsoleAppender Configuration
$Pattern = '[%date{yyyy-MM-dd HH:mm:ss.fff}] %message%n'
$PatternLayout = [log4net.Layout.ILayout](new-object log4net.Layout.PatternLayout($Pattern))
$ColoredConsoleAppender = new-object log4net.Appender.ColoredConsoleAppender($PatternLayout)
$ColoredConsoleAppenderLevelAndColors = new-object log4net.Appender.ColoredConsoleAppender+LevelColors
$ColoredConsoleAppenderLevelAndColors.Level = [log4net.Core.Level]::Debug
$ColoredConsoleAppenderLevelAndColors.ForeColor = [log4net.Appender.ColoredConsoleAppender+Colors]::Green
$ColoredConsoleAppender.AddMapping($ColoredConsoleAppenderLevelAndColors)
$ColoredConsoleAppenderLevelAndColors.level = [log4net.Core.Level]::Info
$ColoredConsoleAppenderLevelAndColors.ForeColor = [log4net.Appender.ColoredConsoleAppender+Colors]::White
$ColoredConsoleAppender.AddMapping($ColoredConsoleAppenderLevelAndColors)
$ColoredConsoleAppenderLevelAndColors.level=[log4net.Core.Level]::Warn
$ColoredConsoleAppenderLevelAndColors.ForeColor=[log4net.Appender.ColoredConsoleAppender+Colors]::Yellow
$ColoredConsoleAppender.AddMapping($ColoredConsoleAppenderLevelAndColors)
$ColoredConsoleAppenderLevelAndColors.level=[log4net.Core.Level]::Error
$ColoredConsoleAppenderLevelAndColors.ForeColor=[log4net.Appender.ColoredConsoleAppender+Colors]::Red
$ColoredConsoleAppender.AddMapping($ColoredConsoleAppenderLevelAndColors)
$ColoredConsoleAppenderLevelAndColors.level=[log4net.Core.Level]::Fatal
$ColoredConsoleAppenderLevelAndColors.ForeColor=[log4net.Appender.ColoredConsoleAppender+Colors]::HighIntensity -bxor [log4net.Appender.ColoredConsoleAppender+Colors]::Red
$ColoredConsoleAppender.AddMapping($ColoredConsoleAppenderLevelAndColors)
$ColoredConsoleAppender.ActivateOptions()
#Load FileAppender Configuration
$ColoredConsoleAppender.Threshold = [log4net.Core.Level]::All
[log4net.Config.BasicConfigurator]::Configure($ColoredConsoleAppender)
#####################################################################################################################
$Log = [log4net.LogManager]::GetLogger("root")
$Log.Debug(‘Debug message.’)
$Log.Info(‘Info message.’)
$Log.Warn(‘Warn message.’)
$Log.Error(‘Error message.’)
$Log.Fatal(‘Fatal message.’)
[log4net.LogManager]::ResetConfiguration()