Alrighty. So this is what is supposed to happen. When you touch a log, a little GUI pops up on your screen and says "+1 log"
What's happening is the GUI pops up fine, but the text doesn't change to "+1 log." Instead the text is the defualt text (Label).
The script:
script.Parent.Touched:connect(function(hit)
local character = hit.Parent
local player = game.Players:GetPlayerFromCharacter(character)
if player ~= nil then
local GUI = Instance.new('ScreenGui', player.PlayerGui)
local GUI.Name = WoodCollected
local TextLabel = Instance.new('TextLabel', GUI)
TextLabel.Size = UDim2.new(0.3, 0, 0.3, 0)
TextLabel.Position = UDim2.new(0.4, 0, 0.3, 0)
TextLabel.Text = "+1 log"
TextLabel.TextScaled = true
TextLabel.BackgroundTransparency = 1
P.S. It's a regular script ( not a LocalScript.)

2 comments
It may be that + is part of a string pattern, it shouldn't, but try making it a variable instead, and just call the variable. Any errors when you press F9 and check both Local and Server logs?
so make a variable of the text (lets say the variable name is text) and when it says "TextLabel.Text = text?"